Попробуем на практике

Попытаемся создать главное меню нашего приложения. Для начала определимся, какие функции будет выполнять приложение и в каком объеме. В результате выполнения упражнений второй главы мы имеем две таблицы с даннымио сотрудниках и справочной информацией о должностях и окладах сотрудников. Для нужд отдела кадров требуется отображать информацию о сотрудниках,сгруппированную в таблицу, например, для сравнительного анализа. Крометого, желательно реализовать отображение данных о каждом сотруднике персонально. Конечно, нужно предусмотреть возможность печати отчетности окаждом сотруднике в отдельности или сводную по предприятию. Необходимпункт меню для вызова справочной информации. Из дополнительных, но весьма полезных функций приложения следует отметить возможность импорта иэкспорта данных в формат XML, который используется в данный момент весьма широко и позволит обмениваться данными с другими приложениями.

Таким образом, обозначились четыре пункта главного мешо:

>    Файл, где собраны функции просмотра и редактирования списка сотрудников, импорт и экспорт данных в формате XML, команда для завершения работы с приложением;

>    Отчеты, где помещаются команды вызова создания печатных форм;

>    Справочники, где будет содержаться команда вызова справочника должностей;

>    Справка, где собраны команды вызова справочной информации и краткой справки о наименовании, версии и авторских правах на данное приложение.

Возможное дерево команд главного меню нашего приложения представлено на рис. 4.32.

Кое-что для создания приложения уже нами сделано, а именно:

>    главная программа приложения;

>    окно формы краткой справки о наименовании, версии и авторских правах на данное приложение;

>    окно просмотра персональных данных сотрудника;

>    окно просмотра списка сотрудников;

>    окно редактирования персональных данных сотрудника.

Создадим главное меню проекта, для чего выполним следующие действия:

1.    Смените текущую папку, выполнив в окне Command команду

CD ?

2.    Откроется окно, в котором нужно найти созданную нами ранее папкуInStaff.

Если окно проекта не открыто, выберите команду Open (Открыть) изменю File (Файл). В появившемся окне открытия файла выберите файлпроекта, который мы создали ранее.

Щелкните мышью по папке Menus (Формы), находящейся в папке Other(Другие), а затем по кнопке New (Новый). В появившемся диалоговомокне щелкните мышью по кнопке Menu (Меню).

Появляется окно Menu Designer (Дизайнера меню), показанное на рис. 4.31.В появившемся окне заполните столбцы, как это показано на рис. 4.33.Щелкните мышью по пункту Файл, а затем по кнопке Create (Создать)справа от него. Menu Designer (Дизайнер меню) покажет вам список пунктов меню, которое откроется при выборе пункта меню Файл. Первоначально список будет пустой. Надо заполнить столбцы в окне (рис. 4.34).

6.    Обратите внимание, что при выборе пункта меню Выход вызывается навыполнение процедура ALVExitPrcc, уже введенная нами в теле основной программы нашего проекта.

7.    Щелкните мышью по пункту Сотрудники, а затем по кнопке Create (Создать) справа от него. Введите информацию по пунктам меню, как показано на рис. 4.35.

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

9.    В раскрывающемся списке Menu level (Уровень меню), в правом верхнемуглу окна Menu Designer (Дизайнер меню), выберите пункт Файл. Благодаря этому действию мы снова поднимемся на один уровень вверх и вернемся к редактированию меню Файл.

10.    Щелкните мышью по пункту Работа с XML, а затем по кнопке Create(Создать) справа от него. Введите информацию по пунктам меню, какпоказано на рис. 4.36.

11.    В раскрывающемся списке Menu level (Уровень меню), в правом верхнемуглу окна Menu Designer (Дизайнер меню), выберите пункт Menu Ваг.Благодаря этому действию мы поднимемся на верхний уровень и вернемся к редактированию главного меню приложения.

12.    Щелкните мышыо по пункту Отчеты, а затем по кнопке Create (Создать)справа от пего. Введите информацию по пунктам меню, как показано нарис. 4.37. Как видите, наименования пунктов меню мы вводим в точномсоответствии с деревом меню, спроектированного нами заранее и представленного на рис. 4.32.

1 В. В раскрывающемся списке Menu level (Уровень меню), в правом верхнемуглу окна Menu Designer (Дизайнер меню), выберите пункт Menu Ваг.Благодаря этому действию мы поднимемся на верхний уровень и вернемся к редактированию главного меню приложения.

14.    Щелкните мышью по пункту Справочники, а затем по, кнопке Create(Создать) справа от него. Введите информацию по пунктам меню, какпоказано на рис. 4.38.



15.    В раскрывающемся списке Menu level (Уровень меню), в правом верхнемуглу окна Menu Designer (Дизайнера меню), выберите пункт Menu Ваг.Благодаря этому действию мы поднимемся на верхний уровень и вернемся к редактированию главного меню приложения.

16. Щелкните мышью по пункту Справка, а затем по кнопке Create (Создать)справа от него. Введите информацию по пунктам меню, как показано нарис. 4.39.

17. Во время работы в Menu Designer (Дизайнере меню) постоянно есть возможность просмотреть, как будут выглядеть результаты ваших трудов.Если щелкнуть по кнопке Preview (Предварительный просмотр), появится окно, как на рис. 4.40, и главное меню Visual FoxPro 9 заменится меню,созданным вами. Можно щелкать мышью по пунктам меню, будут открываться подменю. Правда, окна, которые должны появляться при выборетой или иной команды, появляться не будут. Когда вы просмотритесозданное меню и будете готовы продолжать корректировать меню или переходить к работе с другими компонентами проекта, щелкните по кнопке ОКв окне, представленном на рис. 4.40.



18.    Мы создали главное меню нашего приложения. Сохраним его в файле, для чего выберем команду Save(Сохранить) из меню File (Файл). В появившемсядиалоговом окне сохранения файла укажите папкуMENUS и введите имя файла - ismenu. Щелкните покнопке Сохранить (Save).


19.    Закройте окно Menu Designer (Дизайнера меню), щелкнув по стандартной кнопке закрытия в заголовке окна.

20.    Обратите внимание, что в окне проекта, в папке Menus (Меню) появилось имя созданного нами меню - ismenu.

21.    В окне проекта щелкните мышью по имени основной программы main.Она расположена в папке Programs (Программы).

22.    Щелкните по кнопке Run (Выполнить) в окне проекта. Если будут появляться сообщения вида, как на рис. 4.41, щелкайте мышью по кнопкеIgnore (Игнорировать), пока такие сообщения не перестанут появляться. Это бывает оттого, что Visual FoxPro 9 не всегда адекватно воспринимает русские буквы для обеспечения быстрого выбора пунктов меню припомощи комбинации клавиш Ак+<буква_в_имени_пункта_меню>. И всеже меню с использованием русских букв работать будет не менее успешно, чем на любом другом языке.

Если вы хотите, чтобы ошибка не появлялась, в Menu Designer (Дизайнеременю) последовательно щелкайте мышью по кнопкам в столбце Options (справа от соответствующего пункта основного меню) и затем в появившемся окнещелкните мышью в поле Key Label. После этого нажмите комбинацию клавишAlt+<символ>, где <символ> - это любая буква из названия соответствующего пункта меню. Важно, чтобы комбинации клавиш не повторялись. После этого щелкните по кнопке ОК. В результате при запуске на выполнение вашегоприложения выбирать пункты основного меню пользователь сможет и мышью,и нажатием соответствующих комбинаций клавиш.

23.    Основная программа запустится и отобразит созданное вами меню.В данный момент будут работать пять пунктов меню:

-    Файл > Сотрудники > Просмотр персонально;

-    Файл > Сотрудники > Просмотр списком;

-    Файл > Сотрудники > Редактирование;

-    Справка > О программе;

-    Файл > Выход.

24. После того как попробуете первые два из перечисленных пунктов меню,выберите третий (Файл > Выход), чтобы завершить работу приложения.