Создание меню в редакторе меню

Большая часть работы по созданию меню выполняется в редакторе меню. Запустите его командой Tools > Menu Editor (рис. 5.2). Обратите внимание на следующие моменты:

 

О Как нетрудно догадаться, значения свойств Caption и Name вводятся в первых двух текстовых полях редактора меню.

О Вы также можете выбрать акселератор для текущего элемента меню.

О Флажки Checked, Enabled и Visible обычно остаются в том состоянии, в котором они находятся по умолчанию.

О Кнопки со стрелками влево и вправо предназначены для изменения отступов элемента меню. Заголовки меню выравниваются по левому краю списка в нижней части окна. Команды меню обычно снабжаются единичным отступом. Второй отступ создает команду подменю, открываемого предыдущей командой (каскадные меню).

О Кнопки со стрелками вверх и вниз изменяют порядок следования заголовков и команд меню в списке.

О Число, введенное в поле Index, позволяет превратить меню в массив элементов. Такая возможность может пригодиться для создания списка недавно открывавшихся файлов (наподобие того, который выводится в нижней части меню File многих приложений).

О В поле HelpContextID вводится справочный контекст — уникальный идентификатор, связывающий меню со справочным файлом. Более подробные сведения о справочных файлах приведены в уроке 13, «Создание и использование справочных файлов».

О Поле NegotiatePosition определяет расположение меню верхнего уровня при разворачивании дочерней формы MDI, когда обе формы должны совместно использовать строку меню родительской формы MDI.

При создании заголовка или команды меню надо как минимум определить значения свойств Caption и Name. Сначала создается заголовок, а потом в него добавляются команды. Все команды меню должны обладать единичным отступом. Затем вводится следующий заголовок и входящие в него команды и т. д. Для добавления очередного объекта (заголовка или команды) нажмите кнопку Next. Если вы пропустите какой-либо объект, введите его в конце списка и переместите в нужную позицию кнопкой со стрелкой вверх либо выделите объект, расположенный после нужной позиции, и нажмите кнопку Insert. Объекты удаляются кнопкой Delete. Чтобы включить в меню разделитель, занесите в поле свойства Caption символ «дефис» (-). Тем не менее вы обязаны задать значение свойства Name для разделителя. Отступ разделителя должен совпадать с отступом разделяемых команд.

В именах заголовков и команд меню используется префикс mnu. Например, заголовок меню File обычно имеет имя mnuFile. Имена команд, как правило, включают имя заголовка; например, команда Exit из меню File получает таким образом имя mnuFileExit, а первый разделитель — mnuFileSepl. Наверное, имени типа mnuExit для команды Exit недостаточно — при чтении или отладке кода будет непонятно, к какому меню принадлежит данная команда. А если указать дополнительный префикс File, все станет ясно.

Давайте создадим простейшее меню, чтобы потренироваться в работе с этим объектом:

1. Создайте новый проект командой File > New Project.

2. Выберите тип проекта Standard EXE.

3. Щелкните на форме Form1, чтобы сделать ее активной.

4. Запустите редактор меню командой Tools > Menu Editor или сочетанием клавиш Ctrl+E.

5. Создайте меню File — введите строку &File в поле Caption и строку mnuFile в поле Name.

6. Нажмите кнопку Next, чтобы перейти к следующей команде меню.

7. Следующая команда должна находиться в меню File, поэтому нажмите кнопку со стрелкой вправо, чтобы создать отступ нужного размера.

8. Задайте свойству Caption следующей команды значение &Exit, а свойству Name -значение mnuFileExit.

9. Первое меню готово. Создайте меню Edit и Help вместе с командами, задайте перечисленные ниже значения свойств. После ввода очередного свойства Name нажимайте кнопку Next:

 

Меню Edit:

Caption: Name:
&Edit mnuEdit

 

Команды меню Edit:

Caption: Name:
Cu&t &Copy &Paste mnuEditCut mnuEditCopy mnuEditPaste

 

 

Меню Help:

Caption: Name:
&Help mnuHelp

 

Команды меню Help:

Caption: Name:
&About mnuHelpAbout

 

Примерный вид редактора меню с готовым меню показан на рис. 5.3. Вы можете внести любые исправления, щелкнув на нужном объекте в списке и изменив его свойства. Когда меню примет вид, изображенный на рис. 5.3, нажмите кнопку ОК. Теперь можно посмотреть, как выглядит и ведет себя наше меню. Если щелкнуть в меню Edit, появляется перечень команд этого меню (рис. 5.4). Если щелкнуть на команде Paste, вы попадаете прямо в процедуру события mnuEditPaste_Click() в окне программы. В ней следует запрограммировать вставку информации из буфера.

Рис. 5.3 Создание меню в редакторе меню

 

 

Рис. 5.4. Работающее меню

 

Выберите из только что созданного меню команду File > Exit, чтобы перейти к процедуре mnuFileExit_Click(). Включите в нее оператор End и запустите приложение. Все меню должны правильно раскрываться и закрываться, а команда Exit — завершать работу приложения.

 

Проектирование меню

Windows — операционная система, использующая графический интерфейс пользователя (GUI). Такое название обусловлено тем, что в основном приходится работать с графикой, формами и значками, а не вводить текстовые команды. Именно GUI делает систему и ее программы удобными для пользователя. Вместо того чтобы запоминать загадочные команды с многочисленными параметрами (ключами), вы запоминаете удобные графические обозначения. Чтобы графический интерфейс мог использоваться эффективно, он должен быть стандартным. Все элементы и формы сходного назначения должны выглядеть и работать сходным образом.

Прежде чем заняться панелями инструментов, давайте рассмотрим один аспект проектирования Windows-приложений, которому часто не уделяют должного внимания, — стандарты. При проектировании меню вы должны по возможности придерживаться существующих стандартов. Хотя подробное рассмотрение стандартов GUI выходит за рамки этой книги, желательно с самого начала встать на правильный путь.

Проектируя меню, старайтесь создавать их по образцу стандартных Windows-приложений. Хотя вам вряд ли удастся найти два приложения с одинаковыми меню, вы можете скопировать общую структуру другого меню, чтобы ваше приложение было ближе к общепринятым нормам.

Возможно, вы успели заметить, что меню File почти всегда расположено в левом краю строки меню, а меню Help — в правом. Сохраняйте такое расположение в своих приложениях. Меню Edit почти всегда расположено справа от меню File, a меню Window — слева от Help. Если в вашей программе будут присутствовать меню Edit и Window, сохраните этот порядок. Опытные пользователи привыкают вызывать меню определенным движением мыши, и перестановка меню помешает им работать. Поскольку структура меню подчиняется определенным стандартам, клавиши ускоренного вызова и акселераторы также должны быть стандартными. Например, в команде Cut подчеркивается буква t Первым побуждением было бы поставить амперсенд перед С, но в этом случае пользователь, который захочет скопировать текст в буфер, будет озадачен неожиданным исчезновением половины своего документа! Чтобы узнать, какие сочетания клавиш следует использовать, запустите любое Windows-приложение и изучите его меню.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: