Пункт меню, рисуемого владельцем нельзя определить в файле определения ресурса приложения. Вместо этого необходимо создать новый элемент меню или изменить существующий с помощью флага MFT_OWNERDRAW меню.
Вы можете использовать InsertMenuItem или SetMenuItemInfo функция для указания элемента меню, рисуемого владельцем. Вставить новый пункт меню в указанной позиции в строке меню или меню с помощью InsertMenuItem . Используйте SetMenuItemInfo , чтобы изменить содержимое меню.
При вызове этих двух функций, необходимо указать адрес MENUITEMINFO структуры, давая свойства нового пункта меню или свойства, которые требуется изменить для существующего пункта меню. Чтобы сделать элемент рисуется владельцем товар, укажите значение MIIM_TYPE для элемента fMask и MFT_OWNERDRAW значение для члена fType.
Установив соответствующие члены структуры MENUITEMINFO , определяемые приложением значения, которые называются данные элемента, можно связать с каждого пункта меню. Чтобы сделать это, укажите значение MIIM_DATA для элемента fMask и определяемые приложением значения для элемента dwItemData.
Данные элемента можно использовать с любым типом элемента меню, но это особенно полезно для элементов, рисуемого владельцем. Например Предположим, что структура содержит сведения, используемые для рисования элемента меню. Приложение может использовать данные элемента для элемента меню для хранения указателя на структуру. Данные элемента направляется меню Окно-владелец с WM_MEASUREITEM и WM_DRAWITEM сообщений. Для получения данных элемента меню в любое время, используйте функцию GetMenuItemInfo.
Приложения, написанные для более ранних версий системы могут по-прежнему вызывать AppendMenu, InsertMenuили ModifyMenu для назначения MF_OWNERDRAW флаг меню рисуемого владельцем элемента.
При вызове любого из этих трех функций, можно передать 32-разрядное значение в качестве параметра lpNewItem . Это значение может представлять любую информацию, которая является значимой для вашего приложения, и это будет доступен для приложения, когда элемент будет отображаться. Например значение может содержать указатель на структуру; структура, в свою очередь, может содержать текстовую строку и ручкой для логического шрифта, которые приложение будет использовать для рисования строки.