Составители:
Рубрика:
27
Компонент TMenuItem
TObject—>TPersistent—”TComponent—>TMenuItein
Модуль MENUS
В Палитру компонентов не входит
Этот компонент, который является основой системы меню в Delphi, вы не встретите в Палитре
компонентов — он входит в состав имеющихся там компонентов TMainMenu и
TPopupMenu.
Текст, содержащийся в пункте меню, определяется свойством:
(Pb) property Caption: string;
Помимо основной, он несет еще две дополнительные нагрузки. Во-первых, если в строке име-
ется амперсанд ('&'), то он вместе с следующим за ним символом является акселератором. Например,
для строки '&File' нажатие <Alt>+<F> означает выбор этого пункта. Во-вторых, если текст состоит из
одного символа '-', то
этот пункт служит в меню разделителем (имеет стиль MFJSEPARATOR);
Помимо акселератора может быть описана еще одна комбинация клавиш, нажатие которой рав-
нозначно выбору пункта. Она должна содержаться в свойстве: •
(Pb) property Shortcut: TShortCut;
TShortCut = Low(Word)..High(Word);
Способы выбора пункта меню — щелчок мышью, нажатие <Enter> на сфокусированном пунк-
те, нажатие акселератора или горячей комбинации, наконец, вызов метода
procedure Click;
приводят к
возникновению события:
(Р1э) property OnClick: TNotifyEvent;
Компонент TMenuItem может различать только это событие, с которьм должны быть связаны
действия, ради которых вы ввели данный пункт в меню. Воспринимают это событие те пункты меню,
которые в данный момент активны, что означает-установленное в True свойство:
(РЬ) property Enabled: Boolean;
Если Enabled равно False, пункт изображается серьм цветом и не
воспринимает сообщений.
Часто пункты меню используются для переключения каких-либо режимов работы программы.
При этом они могут быть отмечены "галочкой" перед началом текста. Свойство
(Pb) property Checked: Boolean;
отвечает за то, является ли этот пункт отмеченным.
Если в меню слишком много команд, то их расположение одна под другой может вызвать серь-
езные неудобства для
пользователя. Свойство
(Pb) property Break: TMenuBreak;
TMenuBreak = (mbNone, mbBreak, mbBarBreak) ;
призвано решить эту проблему. Если оно установлено в mbBreak, то команды меню, начиная с
этой, располагаются в новом — соседнем с прежним — столбце (при этом их принадлежность не изме-
няется). Если оно равно mbBarBreak, столбцы при этом разделяются вертикальной чертой. В Delphi все
компоненты меню типа TMenuItem могут быть как простыми командами, так
и подменю, имеющими
собственный список пунктов. В случае, если у компонента дочерних подменю и пунктов нет, для него
имеет смысл свойство:
(Ro) property Command: Word;
Прежде при написании меню нужно было выдумывать и присваивать уникальный идентифика-
тор каждому его пункту — то есть собственно код команды, который посылался в качестве параметра
сообщения WM.COMMAND. Сейчас эта задача
возложена на Delphi — программист не только не оп-
ределяет, но может и не знать кода команды, связанного с этим пунктом меню. Система выберет уни-
кальное значение автоматически и присвоит это значение свойству Command. Изменять его не разре-
шается.
Интерпретация сообщений меню скрыта от программиста. Система сама определяет, какой
пункт выбран, и вызывает
его обработчик события OnClick.
Если для каких-то целей понадобился код команды, можно воспользоваться вышеуказанным
Компонент TMenuItem
TObject—>TPersistent—”TComponent—>TMenuItein
Модуль MENUS
В Палитру компонентов не входит
Этот компонент, который является основой системы меню в Delphi, вы не встретите в Палитре
компонентов — он входит в состав имеющихся там компонентов TMainMenu и TPopupMenu.
Текст, содержащийся в пункте меню, определяется свойством:
(Pb) property Caption: string;
Помимо основной, он несет еще две дополнительные нагрузки. Во-первых, если в строке име-
ется амперсанд ('&'), то он вместе с следующим за ним символом является акселератором. Например,
для строки '&File' нажатие + означает выбор этого пункта. Во-вторых, если текст состоит из
одного символа '-', то этот пункт служит в меню разделителем (имеет стиль MFJSEPARATOR);
Помимо акселератора может быть описана еще одна комбинация клавиш, нажатие которой рав-
нозначно выбору пункта. Она должна содержаться в свойстве: •
(Pb) property Shortcut: TShortCut;
TShortCut = Low(Word)..High(Word);
Способы выбора пункта меню — щелчок мышью, нажатие на сфокусированном пунк-
те, нажатие акселератора или горячей комбинации, наконец, вызов метода
procedure Click;
приводят к возникновению события:
(Р1э) property OnClick: TNotifyEvent;
Компонент TMenuItem может различать только это событие, с которьм должны быть связаны
действия, ради которых вы ввели данный пункт в меню. Воспринимают это событие те пункты меню,
которые в данный момент активны, что означает-установленное в True свойство:
(РЬ) property Enabled: Boolean;
Если Enabled равно False, пункт изображается серьм цветом и не воспринимает сообщений.
Часто пункты меню используются для переключения каких-либо режимов работы программы.
При этом они могут быть отмечены "галочкой" перед началом текста. Свойство
(Pb) property Checked: Boolean;
отвечает за то, является ли этот пункт отмеченным.
Если в меню слишком много команд, то их расположение одна под другой может вызвать серь-
езные неудобства для пользователя. Свойство
(Pb) property Break: TMenuBreak;
TMenuBreak = (mbNone, mbBreak, mbBarBreak) ;
призвано решить эту проблему. Если оно установлено в mbBreak, то команды меню, начиная с
этой, располагаются в новом — соседнем с прежним — столбце (при этом их принадлежность не изме-
няется). Если оно равно mbBarBreak, столбцы при этом разделяются вертикальной чертой. В Delphi все
компоненты меню типа TMenuItem могут быть как простыми командами, так и подменю, имеющими
собственный список пунктов. В случае, если у компонента дочерних подменю и пунктов нет, для него
имеет смысл свойство:
(Ro) property Command: Word;
Прежде при написании меню нужно было выдумывать и присваивать уникальный идентифика-
тор каждому его пункту — то есть собственно код команды, который посылался в качестве параметра
сообщения WM.COMMAND. Сейчас эта задача возложена на Delphi — программист не только не оп-
ределяет, но может и не знать кода команды, связанного с этим пунктом меню. Система выберет уни-
кальное значение автоматически и присвоит это значение свойству Command. Изменять его не разре-
шается.
Интерпретация сообщений меню скрыта от программиста. Система сама определяет, какой
пункт выбран, и вызывает его обработчик события OnClick.
Если для каких-то целей понадобился код команды, можно воспользоваться вышеуказанным
27
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »
