Программирование для IBM OS2


Динамическое создание меню - часть 2


mi.iPosition = 1; mi.afStyle = MIS_TEXT | MIS_SUBMENU; mi.afAttribute = 0; mi.id = IDM_EDIT; mi.hwndSubMenu = hwndEditMenu;

WinSendMsg (hwndMenu, MM_INSERTITEM , MPFROMP(&mi), "~Edit");

Так как мы добавляем меню, то в поле стилей дополнительно указывается константа MIS_SUBMENU.

В поле iPosition мы указали значение, равное единице, поэтому меню Edit будет вставлено во вторую позицию слева. Это стандартное расположение для меню Edit, так как перавая позиция (имеющая нулевой порядковый номер), предназначена для меню File.

Для удаления строки из меню или временного меню вы можете воспользоваться сообщением MM_DELETEITEM .

Через младшее слово первого параметра с этим сообщением передается идентификатор удаляемой строки или меню. Если старшее слово первого параметра содержит значение TRUE, при удалении меню будут удалены все связанные с ним вложенные меню, если FALSE - вложенные меню останутся нетронутыми.

Во второй параметр для сообщения MM_DELETEITEM вам нужно записать адрес заполненной структуры MENUITEM .




Начало  Назад  Вперед