WinApi тип TMenuItemInfo
Описание:
TMenuItemInfo = packed record
cbSize: UINT;
fMask: UINT;
fType: UINT; {used if MIIM_TYPE}
fState: UINT; { used if MIIM_STATE}
wID: UINT; { used if MIIM_ID}
hSubMenu: HMENU; { used if MIIM_SUBMENU}
hbmpChecked: HBITMAP; { used if MIIM_CHECKMARKS}
hbmpUnchecked: HBITMAP; { used if MIIM_CHECKMARKS}
dwItemData: DWORD; { used if MIIM_DATA}
dwTypeData: PAnsiChar; { used if MIIM_TYPE}
cch: UINT; { used if MIIM_TYPE}
hbmpItem: HBITMAP; { used if MIIM_BITMAP}
end;
Используется для установки или получения информации о пункте меню.
cbSize - размер структуры TMenuItemInfo
fMask - определяет содержание стркутуры. Одно из следующих значений:
MIIM_CHECKMARKS - Говорит о том, что пункт будет меткой и в полях hbmpChecked и hbmpUnchecked содержаться данные
MIIM_DATA - В поле dwItemData содержаться данные
MIIM_ID - В поле wID содержаться данные
MIIM_STATE - В поле fState содержаться данные
MIIM_SUBMENU - В поле hSubMenu содержаться данные
MIIM_TYPE - В поле fType и dwTypeData содержаться данные
fType - тип пункта меню. Может быть одно или более из следующих значений:
MFT_BITMAP - Показывает пункт меню с картинкой. Дискриптор картинки содержиться в dwTypeData, а поле cch игнорируется
MFT_MENUBARBREAK - Говорит о том, что текущий пункт меню- последний, и следующие будут показываться в новом столбике
MFT_MENUBREAK - Говорит о том, что текущий пункт меню- последний, и следующие будут показываться в новом столбике
MFT_OWNERDRAW - Отдает контроль о рисовании пункта меню процедуре окна, которая получает сообщение WM_MEASUREITEM, перед тем как показать меню первый раз и WM_DRAWITEM, когда требуется перерисовка. Если установлен этот тип, то dwTypeData получает определенное приложением 32-битное значение
MFT_RADIOCHECK - Показывает пункт меню метку с Radio кнопкой. hbmpChecked - 0, то выделена
MFT_RIGHTJUSTIFY - Показывает правее меню. Этот тип используется только, если меню-принадлежит панели меню (меню-бару)
MFT_SEPARATOR - Говорит о том, что пункт меню-раздилительная линия. Поля dwTypeData и cch игнорируются
MFT_STRING - Говорит о том, что пункт меню - строка текста. Поле dwTypeData - указатель на строку, содержащую текст. cch - длина текста
Значения MFT_BITMAP, MFT_SEPARATOR, и MFT_STRING не могут быть комбинированы с другими
fState - состояние пункта меню. Одно из след. значений:
MFS_CHECKED - Помечен
MFS_DEFAULT - Состояние "По умолчанию"
MFS_DISABLED - заблокирован но незатемнен
MFS_ENABLED - Разблокирован
MFS_GRAYED - Затемнен
MFS_HILITE - Подсвечен
MFS_UNCHECKED - Без метки
MFS_UNHILITE - Неподсвечен
wID - определенное приложением 16-битное значение, индентифицирующее пункт меню
hSubMenu - дискриптор подменю, если данный пункт меню является выпадающим
hbmpChecked - дискриптор картинки, которая отображается если на пункт меню поставлена метка
hbmpUnchecked - дискриптор картинки, которая отображается если с пункта меню снята метка
dwItemData - определенное приложением значение, связанное с этим пунктом меню
dwTypeData - Значение этого поля зависит от MFT_BITMAP, MFT_SEPARATOR, или MFT_STRING состояний
cch - Длина строки, если пункт меню создан с состоянием MFT_STRING. Если этого состояния нет, то 0
hbmpItem - В стандартном описании не найдено. Вероятно существует в более поздних версиях и служит для установки иконки пункта меню.
Материал взят из:
Русская спpавка по Windows API