В этом уроке мы создадим проект, в который добавим возможность создания простой формы. Среда, которую будем использовать для разработки программ, называется IDE, что является сокращением от Integrated Development Environment. Когда вы заходите в IDE системы Visual Prolog, то попадаете в среду, представленную на рисунке. Дальше будем ссылаться на меню IDE как на «меню задач» (task menu). Система окон и диалогов называется Graphical User Interface, или сокращенно – GUI.

Для того, чтобы создать GUI проект выберите команду Project > New. Затем заполните диалоговое окно Project Settings: в поле Project Name напишите имя проекта, например «Plot1», в поле Project Kind укажите MDI. Нажмите кнопку Create, и перед вами появится окно дерева проекта.
Для того чтобы скомпилировать программу, выберите команду Build > Build меню задач, как показано. Для запуска программы выберите команду Build > Execute, после осуществляется повторная компиляция, формируется и запускается исполняемый файл.
На экране появится окно, содержащее:
• Стандартное графическое окно со строками заголовка и главного меню, панелью инструментов. Меню и панель инструментов содержат компоненты по умолчанию.
• Встроенную консоль сообщений Messages. Сюда компилятор выводит свои сообщения.
Чтобы выйти из программы, нужно нажать кнопку в виде крестика, которая находится в верхнем правом углу окна.

Для конкретных действий в проекте нужно создать тему. Для этого используем команду File > New in New Package (новый файл в новом пакете).
Генерируется окно создания темы Create Project Item. Можно создавать темы:
• Class – класс,
• Interface – интерфейс,
• Dialog – диалог,
• Form – форма,
• Control – элемент управления,
• Draw Control – элемент управления для рисования,
• Toolbar – панель инструментов,
• Menu – меню,
• Bitmap – растровая картинка,
• Icon – иконка,
• Cursor - курсор,
• Package – встроенный пакет,
• TextFile – текстовый файл.
Например, выбираем форму с именем «form1».
Нажимаем кнопку create, генерируется окно конструктора формы, которое содержит встроенные окна:
• Form1 - форма, в которую по умолчанию включены 3 часто употребляемые элементы управления (OK, Cancel, Help).
• Properties – свойства.
• Controls – доступные элементы управления, которые можно использовать в форме (путем копирования их туда).
• Layout – средства управления положением компонент в форме.

Для регулирования поведения окна формы в дереве проекта нужно открыть поле TaskWindow.win.
Открывается окно эксперта диалога и окон Dialog and Window Expert (TaskWin-dow), содержащее эксперты для компонент:
• Window –окно.
• Menu – меню.
• Scrollbar – полоса прокрутки.
• Control – элемент управления.
• Key – клавиша.
• Mouse – мышь.
• Miscellaneous – разное.
В нем нужно изменить установки, которые по умолчанию запрещают некоторые действия.
Для поля Menu нужно сделать доступным: in_file_new – новый файл открыть.
Остальные поля менять не надо.
Поля без галочки выключены. Для включения пункта двойной щелчок по нему.

Чтобы открывалось окно формы, нужно разрешить открытие файла формы (по умолчанию это запрещено). Открываем TaskMenu двойным щелчком мышью по TaskMenu.mnu.
Открывается окно TaskMenu, в котором для &File\&New\tF7 нужно убрать галочку в Disable (недоступно).
При закрытии этого окна возникает запрос на сохранение сделанных изменений. Выбираем Save – сохранить.

Осталось прописать ссылку на открываемый файл. Открываем файл TaskWindow.pro. Его содержимое, так как и в случае консольного приложения, создано автоматически при компиляции. Только не прописано правило реагирования на открытие нового файла:

clauses
	onFileNew(_Source, _MenuTag).
Вносим туда правило отображения формы «form1» с помощью конструктора формы.
clauses
	onFileNew(S, _MenuTag) :-
		X = form1::new(S),
		X:show().
Делаем повторную компиляцию и запуск командой Build > Execute. В результате отображается окно проекта без запущенной формы.
Команда File > New в окне проекта приводит к отображению формы в окне проекта.
 

                                                                       << предыдущий | следующий >>


2016-06-08 • Просмотров [ 220 ]