2010-12-27 9 views
3

Adobe Creative Suite 5 (CS5)에서 응용 프로그램을 본 적이 있다면 해당 응용 프로그램이 기본 Windows GUI처럼 보이지 않은 것을 볼 수 있습니다. 다른 모양으로 수정했습니다 그것에.WinAPI 컨트롤 스키닝

어디에서 사용자 정의 스킨이있는 응용 프로그램을 만들기 시작합니까? CS5는 위젯/컨트롤 관리를 위해 Adobe Source 라이브러리를 사용하므로 Adobe Source Library를 다운로드하고 컴파일하여 Photoshop CS5와 같은 멋진 스킨이 적용된 앱을 만들 수 있는지 알아 보았지만 마지막으로 컴파일하고 테스트 한 결과 깨달았습니다. CS5와 마찬가지로 위젯을 관리하고 GUI를 스키닝하지 않기위한 라이브러리였습니다.

어디에서 Adobe Cs5 응용 프로그램과 같은 멋진 프로그램을 만들 수 있습니까? 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

WinAPI의 WM_PAINT 메시지를 사용하고 OpenGL이나 다른 것을 사용하여 내 위젯을 렌더링합니까?

+0

Adobe Creative Suite의 많은 프로그램은 Windows API에서 제공하는 표준 컨트롤 대신 사용자 지정 컨트롤 라이브러리를 사용합니다. 기존 컨트롤을 스킨하는 것은 간단한 문제가 아닙니다. –

답변

1

QT 및 QML을 사용하십시오. 가파른 학습 곡선이 없습니다. JavaScript로 GUI를 정의하고 많은 효과를 추가하고 상상할 수있는 모든 일에서 PNG를 사용하는 것을 즐깁니다. 그런 다음 C++로 응용 프로그램 논리를 수행합니다. 실제로 QML을 사용하는 UI 이외에도 상당히 진보 된 작업을 수행 할 수 있지만 항상 우려를 분리하는 것이 좋습니다.

나는 제품을 출시하기 위해 직장에서 사용하고 있습니다. Windows에서 WM_PAINT를 재정의하는 것이 유일한 방법은 아니지만 사용자 지정 UI에서 Win32 API 대신 QT를 사용하는 것이 좋습니다. 적어도 내 경험에 비추어 볼 때 Win32 API를 사용하는 것보다 쉽습니다.

0

사용자 지정 컨트롤을 직접 구현하려면 자체 WM_PAINT를 구현하고 GDI/GDI +를 사용하여 그려야합니다. 최상위 창과 팝업의 경우 Layered windows을 사용할 수 있습니다. 그러나 나는 혼자서 구현하고 싶지 않다면 합리적인 가격으로 인터넷을 통해 많은 전문적인 사용자 지정 컨트롤을 찾을 수 있다고 생각합니다.

0

나는 당신의 선택이 현대의 스킨이 적용된 앱을 만드는 데있어 QT 또는 WPF (C++/CLI를 통해)이라고 생각합니다.

0

기존 Win32 API 응용 프로그램이 있고 스키닝을 지원하는 라이브러리를 사용하여 다시 작성하지 않으려면 Stardock DirectSkin을보고 싶을 수 있습니다.

신청서를 다시 작성하기로 결정한 경우 Qt도 좋습니다. Qt를 사용하여 Guitar Pro 6을 다시 작성한 경험이 있으시면 here을 읽어보십시오.

+0

Guitar Pro 6 블로그 게시물의 링크가 업데이트되었습니다. http://blog.qt.digia.com/blog/2010/06/17/how-qt-can-turn-you-into-a-guitar-maestro/ –