2016-06-05 2 views
-1

저는 최근에 Windows API 프로그래밍을 시작했습니다. 메뉴 막대에 색상과 항목을 설정하는 방법에 대해 궁금합니다. Google에서 검색하려고했지만 찾지 못했습니다.C++ 메뉴 항목에서 색상을 설정하는 방법은 무엇입니까?

CreateWindowEx()을 사용하여 창을 만들고 CreateMenu()을 사용하여 메뉴를 만들었습니다.

+2

https://msdn.microsoft.com/en-us/library/windows/desktop/ms647558%28v=vs.85%29.aspx#_win32_Creating_Owner_Drawn_Menu_Items – theB

+0

왜 다른 색이 필요합니까? 너는 무엇을 만들려고 하는가? –

답변

-1

Windows에서 너무 많은 기본 UI 프리미티브 스타일을 지정할 수 없습니다. 그들은 시스템에 의해 그려진다.

그러나 당신은 당신이 원하는 것을 그릴 수있는 owner drawn menu items을 소위 가질 수 있습니다.

디자인에 많은 맞춤형 요소가 필요한 경우 UI에 대한 다른 접근 방식을 고려해야합니다. QT/QML 나처럼 내 Sciter 당신이 HTML/CSS 용어로 메뉴를 정의 할 수 있습니다 예를 들어 :

당신이 Win32에서 개발의 단계를 시작하기에 때문에

enter image description here

+1

? 너의 (인정한) 자신의 도서관을 언급하기 위해 가혹한 downvotes 몇? – usr2564301

+0

오 보이 (Oh boy). 다른 사람들과 모양이 다르고 좌절하는 비 네이티브 애플리케이션을 만들기위한 또 다른 툴킷. 모두에게 필요한 것 ... 디자인에 많은 맞춤형 요소가 필요한 경우 아마도 다시 생각해야합니다. –

+1

@CodyGray notepad.exe, Visual Studio 및 기타 IDE, MS Office, 행의 첫 번째 브라우저는 "기본 응용 프로그램"으로 간주 될 수 있습니다. –

2

, 내가보기 엔 당신이 메뉴를 착색 멀리하는 것이 좋습니다 . Win32 라이브러리는 기본적으로 지원하지 않습니다. 그런 다채로운 메뉴에 사용자 지정 그림을 수행해야합니다. "win32에서 사용자 지정 그리기 메뉴"를 검색 할 수 있습니다 (MFC로 작업 할 수 있으면 win32를 MFC로 바꿉니다).

그러나 검색 결과가 사용자를 당황시킬 것이며 사용자는이를 파악할 수 없습니다. 나는 당신이 창문, 메뉴, 컨트롤, 다양한 창과 사용자가 시작한 메시지를 다루는 것을 제안한다. 컨트롤 활성화/비활성화, 컨트롤 숨기기, 컨트롤 속성 변경 Windows 탐색기 (오른쪽에만 해당)를 만드는 것은 어떻습니까? 너는 많은 것을 배울 것이다. 색 재현성있는 세계로 뛰어 들어갈 필요는 전혀 없습니다 (메뉴는 최소한입니다).

색상, 그라디언트 등을 원하면 Windows 자체에서 수행 할 수 있습니다 (HDC, WM_PAINT 등).

+0

"메뉴 색칠 멀리하기"... 예를 들어 이것을 고려하십시오. https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/Art/action_menu_open_2x.png –

+0

@ c- 미소 나는 그것을 결코하지 않는다고 말하지 않았다. – Ajay

관련 문제