![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток, уважаемые форумчане.
Недавно появилось желание расположить пункт главного меню "О программе" с правой стороны. Рассмотрел пример использования GetMenuItemInfo и SetMenuItemInfo. В итоге расположил следующий код в событиях OnCreate и OnPaint главной формы приложения и OnChange компонента MainMenu: Код:
var // определение глобальных переменных mii: TMenuItemInfo; MainMenu: hMenu; Buffer: array[0..1000] of Char; ========= // непосредственно код MainMenu := Self.Menu.Handle; mii.cbSize := SizeOf(mii) ; mii.fMask := MIIM_TYPE; mii.dwTypeData := Buffer; mii.cch := SizeOf(Buffer); GetMenuItemInfo(MainMenu, N21.Command, false, mii) ; mii.fType := mii.fType or MFT_RIGHTJUSTIFY; SetMenuItemInfo(MainMenu, N21.Command, false, mii) ; Всё работает. Однако заметил, что при деактивации какого-либо пункта меню (установка enabled в false) функция прекращает располагать нужный пункт меню с правой стороны. Встречался ли кто с такой проблемой? Заранее благодарен. Последний раз редактировалось Admin, 25.03.2012 в 17:19. |