소유자가 그린 플래그 설정

응용 프로그램의 리소스 정의 파일에는 소유자가 그린 메뉴 항목을 정의할 수 없습니다. 대신, 당신은 새 메뉴 항목을 만들거나 수정 해야 MFT_OWNERDRAW 메뉴 플래그를 사용 하 여 기존.

InsertMenuItem 또는 SetMenuItemInfo사용할 수 있습니다 소유자가 그린 메뉴 항목을 지정 하는 기능. InsertMenuItem 를 사용 하 여 메뉴 모음이 나 메뉴에 지정된 된 위치에 새 메뉴 항목을 삽입 합니다. SetMenuItemInfo 를 사용 하 여 메뉴의 내용을 변경합니다.

이러한 두 함수를 호출할 때 지정 해야 합니다 MENUITEMINFO 구조체의 주소 새 메뉴 항목의 속성 또는 기존 메뉴 항목에 대 한 변경 하려는 속성을 제공 합니다. 항목을 소유자 위주 항목 값을 지정 합니다 MIIM_TYPE MFT_OWNERDRAW 값에 대 한 fMask 구성원 fType 멤버에 대 한.

MENUITEMINFO 구조체의 적절 한 구성원을 설정 하 여 각 메뉴 항목을 항목 데이터호출 되는 응용 프로그램 정의 값을 연결할 수 있습니다. 이렇게 하려면 값을 지정 합니다 MIIM_DATA fMask 회원 및 응용 프로그램 정의 값에 대 한 dwItemData 멤버에 대 한.

항목 데이터를 사용 하 여 메뉴 항목의 모든 종류와 함께 하지만 소유자가 그린 항목에 특히 유용 합니다. 예를 들어, 메뉴 항목을 그리는 데 사용 되는 정보를 포함 하는 구조를 가정 합니다. 응용 프로그램 구조에 대 한 포인터를 저장 하는 메뉴 항목에 대 한 항목 데이터를 사용할 수 있습니다. 항목 데이터 메뉴의 소유자 창이 WM_MEASUREITEMWM_DRAWITEM 메시지와 함께 전송 됩니다. 언제 든 지 메뉴에 대 한 항목 데이터를 검색 하려면 GetMenuItemInfo 함수를 사용 하 여.

응용 프로그램 시스템의 이전 버전에 대 한 전화 AppendMenu, InsertMenu또는 ModifyMenu 소유자가 그린 메뉴 항목을 MF_OWNERDRAW 플래그를 지정 계속 수 있습니다.

이러한 세 가지 함수를 호출 하면 lpNewItem 매개 변수로 32 비트 값을 전달할 수 있습니다. 이 값은 응용 프로그램에 의미 이며 그 항목이 표시 될 때 응용 프로그램에 사용할 수 있을 것입니다 모든 정보를 나타낼 수 있습니다. 예를 들어, 값 구조;에 대 한 포인터를 포함할 수 있습니다. 구조, 차례, 텍스트 문자열 및 문자열을 그리는 데 사용 하는 응용 프로그램 논리 글꼴에 대 한 핸들 포함 될 수 있습니다.

 

Index