Составители:
Рубрика:
29
function Findltem(Value: Word;
Kind: TFindItemKind): TMenuItem;
TFindItemKind = (fkComrriand,
fkHandle, fkShortCut);
Возвращает указатель на объект, соответствующий заданному
пункту меню. Параметр Value должен содержать величину, которая
интерпретируется в соответствии с одним из трех способов поиска
(по команде, дескриптору или комбинации горячих клавиш).
function GetHelpContext(Value:
Word; ByComniand: Boolean) :
THelpContext;
Возвращает значение контекста помощи элемента меню. Если па-
раметр ByCommand установлен в True, Value содержит связанную с
пунктом команду, в противном случае — дескриптор. Если кон-
текст у пункта отсутствует (равен 0), то отыскивается ближайший
родительский ненулевой контекст. Если и он не найден, возвраща-
ется 0.
function IsShortCut(var Message:
TWMKey): Boolean;
Определяет, какая комбинация горячих клавиш ShortCut нажата, и
отыскивает соответствующий пункт меню. Если пункт с таким зна-
чением ShortCut найден, и его метод Click отработал успешно, ме-
тод возвращает True.
В следующем примере метод обрабатывает сообщение Windows WM_MENUSELECT, которое
возникает при перемещении фокуса между пунктами меню. В зависимости от типа пункта показывает-
ся его дескриптор или команда:
procedure TFormI.wmMenuSelect(var Msg :TWMMenuSelect) ;
var Anitem : TMenuItem;
begin
with Msg do
begin
if (MenuFlag and MF_POPUP <>0 )
then
begin
Anitem := Formi.Menu.Findltem(Idltem, fkHandle);
if Anitemonil then Labell .Caption :=
'Handle:'+IntToHex(Anitem.Handle,4) ;
end
else
begin
Anitem := Formi.Menu.Findltem(Idltem, fkCommand);
if Anitemonil then Labell .Caption :=
'Command:'+IntToHex(Anitem.Command,4) ;
end;
end;
inherited;
end;
Компонент TMainMenu
TObj ect—”TPersi stent-”TCornponent->TMenu->TMainMenu
Модуль MENUS
Страница Палитры компонентов Standard
Этот компонент представляет главное меню формы и наследует все методы и свойства TMenu.
Особенность его в том, что в нем реализован сложный механизм объединения меню. Это необходимо
по следующим причинам:
• Если в приложении имеется несколько форм со своими меню, то для упрощения работы целе-
сообразно соединить их
в одно и управлять меню из главной формы.
• Объединение меню нужно при работе с интерфейсом MDI и его подокнами.
function Findltem(Value: Word; Возвращает указатель на объект, соответствующий заданному
Kind: TFindItemKind): TMenuItem; пункту меню. Параметр Value должен содержать величину, которая
TFindItemKind = (fkComrriand, интерпретируется в соответствии с одним из трех способов поиска
fkHandle, fkShortCut); (по команде, дескриптору или комбинации горячих клавиш).
function GetHelpContext(Value: Возвращает значение контекста помощи элемента меню. Если па-
Word; ByComniand: Boolean) : раметр ByCommand установлен в True, Value содержит связанную с
THelpContext; пунктом команду, в противном случае — дескриптор. Если кон-
текст у пункта отсутствует (равен 0), то отыскивается ближайший
родительский ненулевой контекст. Если и он не найден, возвраща-
ется 0.
function IsShortCut(var Message: Определяет, какая комбинация горячих клавиш ShortCut нажата, и
TWMKey): Boolean; отыскивает соответствующий пункт меню. Если пункт с таким зна-
чением ShortCut найден, и его метод Click отработал успешно, ме-
тод возвращает True.
В следующем примере метод обрабатывает сообщение Windows WM_MENUSELECT, которое
возникает при перемещении фокуса между пунктами меню. В зависимости от типа пункта показывает-
ся его дескриптор или команда:
procedure TFormI.wmMenuSelect(var Msg :TWMMenuSelect) ;
var Anitem : TMenuItem;
begin
with Msg do
begin
if (MenuFlag and MF_POPUP <>0 )
then
begin
Anitem := Formi.Menu.Findltem(Idltem, fkHandle);
if Anitemonil then Labell .Caption :=
'Handle:'+IntToHex(Anitem.Handle,4) ;
end
else
begin
Anitem := Formi.Menu.Findltem(Idltem, fkCommand);
if Anitemonil then Labell .Caption :=
'Command:'+IntToHex(Anitem.Command,4) ;
end;
end;
inherited;
end;
Компонент TMainMenu
TObj ect—”TPersi stent-”TCornponent->TMenu->TMainMenu
Модуль MENUS
Страница Палитры компонентов Standard
Этот компонент представляет главное меню формы и наследует все методы и свойства TMenu.
Особенность его в том, что в нем реализован сложный механизм объединения меню. Это необходимо
по следующим причинам:
• Если в приложении имеется несколько форм со своими меню, то для упрощения работы целе-
сообразно соединить их в одно и управлять меню из главной формы.
• Объединение меню нужно при работе с интерфейсом MDI и его подокнами.
29
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
