Разработка новых GUI-приложений
В этом примере мы собираемся разработать приложение GUI, которое потребует гораздо больше кода, чем предыдущий пример. Для этого вам не понадобится редактор, вместо этого вам понадобится место на мониторе. Поэтому закройте окно редактора и наберите в сеансе DOS команду START XPPFD. Так вы запустите Дизайнер Форм Xbase ++ (FormDesigner). FormDesigner уже видит ваш рабочий раздел XPPFIRST (вы также могли бы запустить эту программу при помощи основного меню Windows, но тогда бы вам пришлось выбрать раздел дополнительно). Следуйте указанным ниже инструкциям:
1. Прежде всего, вы должны привыкнуть к разным иконкам, которые видны в основном окошке FormDesigner. Для этого откройте файл помощи, выбрав в меню Help-> Helpindexи набрав строку "Filemanagement". Нажмите ввод и прочитайте описание первых трех иконок слева.
2. Нажмите Ctrl+PgDn, а потом снова Ctrl+PgDn, чтобы прочитать описание других иконок.
3. Нажмите на первую иконку, расположенную на закладке, и переведите указатель мыши на окно, которое называется New form. Поместите рамку вставки в это окно (для этого используйте мышь или клавиши курсора) и зафиксируйте желаемое положение левой кнопкой. Создана первая часть Xbase!
4. Привыкните к рамке выделения. Поменяйте положение и/или размер этой части Xbase при помощи мыши.
5. Нажмите клавишу Ctrl и удерживайте ее во время нажатия на эту часть Xbase. Это действие создает копию выделенной части. Расположите копию, выберете обе части и нажмите на иконку в окошке Alignment Palette. Оно предлагает восемь различных вариантов определения положения и/или размера для нескольких частей Xbase. Если хотите, можете попробовать все восемь комбинаций.
6. Выделите все части Xbase и нажмите клавишу Del, чтобы их стереть.
7. Выберите закладку Statics в основном окне и выберите иконку, которая показывает заглавную букву "A". Расположите эту часть Xbase (она создаст статический текст).
8. Откройте окно свойств Property Monitor, выбрав пункт меню Options-> PropertyMonitor. Верхняя часть этого монитора показывает имена классов Xbase Parts, которые определены в окошке New form, а нижняя является табличной частью. Левая колонка Property показывает имена переменных Xbase Parts, а правая колонка Value показывает соответствующие значения этих переменных.
9. Выберите XbpStatic в верхней части окошка property monitor. Потом выберите третий снизу ряд в таблице (Property = caption) и кликните два раза на правой колонке. Напишите "Hello World " в поле ввода и затем поменяйте значения для третьего, четвертого и пятого ряда сверху (ColorFG - цвет переднего плана, ColorBG - цвет заднего плана, Font – тип шрифта). Каждый раз, когда вы заканчиваете редактирование, измененное значение присваивается данной части Xbase Parts и становится видимым.
10. Сохраните форму, нажав в основном окошке на символ, изображающий дискету, используйте название TEST.XFF в качестве имени файла.
11. Выберите в меню Form-> New, чтобы уничтожить текущую форму. Потом нажмите на кнопку в верхнем левом углу. Она изображает раскрытую папку. Выберите файл TEST.XFF, чтобы восстановить сохраненную форму.
12. Сотрите Xbase Parts (выберите ее и нажмите Del) и откройте пункт меню Assistents-> Fields. Выберите два поля из правого списка и нажмите Ok. Потом наведите указатель мыши на место, куда должны быть вставлены оба поля и нажмите левую кнопку.
13. Добавьте две кнопки для навигации по базе данных. СоздайтеихчерезпунктыменюXbase Parts-> Pushbutton-> Next иXbaseParts-> Pushbutton-> Previous. После того как вы расположите обе кнопки, сохраните форму.
14. Выберите в меню Form-> FUNCTION Code-> Create code и наберите TEST.PRG в качестве имени файла. Это указывает FormDesigner на создание исходного кода для формы.
15. Закройте FormDesigner, скомпилируйте файл TEST.PRG и скомпонуйте его для выполнения в графическом режиме с опцией /PM:PM. Запустите программу TEST.EXE. Она покажет форму, которую вы только что создали.
16. Программа показывает форму в дополнительном окошке. Это окно создается по умолчанию в процедуре AppSys() Xbase++.
17. Загрузите файл TEST.PRG в ваш редактор и вставьте две строчки кода перед строкой PROCEDURE Main:
PROCEDURE AppSys()
RETURN
Эти строчки запрещают создание окошка приложения по умолчанию, и программа TEST.EXE покажет только одно окно - вашу форму.
Если вы полностью выполнили эти 17 шагов, то вы прошли ускоренный курс по Xbase++ FormDesigner. FormDesigner работает в режиме “Запусти меня, а я напишу твой код". Созданный код выглядит несколько сложно на первый взгляд, но его нетрудно понять. Впечатление сложности производит, в основном, количество созданного кода. Код построен по определенному алгоритму, а большое количество его вызвано тем, что графические программы требуют больше кода, чем текстовые. Только подумайте о двух координатных системах: 80x25 колонок/рядов и 1280x1024 точек по оси X и по оси Y. Одно точное позиционирование в системе координат, основанной на точках, увеличивает размер кода. Тем не менее, это и есть та работа, которую для Вас делает FormDesigner.
Чему я научился?
Я знаю, как использовать FormDesigner, и я могу создавать функционально-ориентированный программный код. Я заметил, что FormDesigner может создавать исходный код такой как CLASS, или объектно-ориентированный код, соответственно. Я еще не видел этого, но посмотрю позже и прочитаю об этом в контекстной подсказке.
Внимание: Вы можете найти подробную информацию о FormDesigner через закладку Содержание интерактивной документации: Programming Tools-> The Xbase++ FormDesigner.
-