Създаване на менюта визуално с FoxPro

Създаването на потребителско меню се извършва с помощта на дизайнера на менюто (Menu Designer). Стартира се с командата File→New→Menu→New file.

В диалоговия прозорец Ново меню, който се отваря, от предложените опции:

а) Меню - линейно (Bar-menu);

b) Пряк път - изскачащ прозорец (Изскачащо меню)

изберете Меню. Ще се отвори прозорецът Menu Designer - Menu1 (фиг. 27).

Това ще добави елемент от менюто към главното меню на програмата Visual FoxPro, за да работи с менюто, което създавате.

менюта

Фигура 1. Прозорец на дизайнера на менюто. Създаване на сервизен артикул

Помислете за създаване на меню на пример. Например хоризонтално меню ще се състои от два елемента Pad:

• Обслужване. Елементът от менюто за услуги ще отвори изскачащо меню, съдържащо линиите за повикване на календара и калкулатора;

• Изход. Излиза от програмата и изчиства екрана.

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

В колоната Резултат можете да изберете една от опциите за избор на този елемент от менюто:

• Командване. Изпълнява се командата, която се записва вдясно от колоната Резултат;

• Подменю. Създава се изскачащо меню. За да дефинирате неговите елементи, щракнете върху бутона Създаване, който се появява вдясно.

• Име на подложка или номер на лента. Позволява ви да използвате елементите на системното меню (като въведете една от командите, предвидени за тази цел в програмата FoxPro).

В нашия случай изберете елемента Подменю (подменю), тъй като трябва да създадем два елемента от изскачащото меню (за стартиране на календара и дневника). Кликнете върхубутона Създай. В прозореца, който се отваря, въведете съответните команди, както е показано на фигурата.

За да се върнете към предишния прозорец (към най-горното ниво на менюто), изберете реда Лента. в полето Ниво на менюто за навигация през нивата на менюто.

Вторият от нашето хоризонтално меню ще бъде елементът Изход, който трябва да бъде въведен в полето Подкана. Тук става въпрос за извикване на процедура, която прекратява използването на създаденото меню и се връща към стандартното главно меню. Изберете Процедура в полето Резултат и щракнете върху бутона Създай.

В прозореца „Дизайнер на меню – Меню 2 – Процедура за изход“, който се отваря, запишете кода на процедурата за изход от менюто, показан по-долу, който съдържа команди за изчистване на екрана от системните прозорци и прозореца на формуляра.

създаване

Фигура 2. Прозорец на конструктора на менюто. Създаване на елементи от подменюто

ПУСКАНЕ НА ПРОЗОРЕЦ КАЛЕНДАР

ПУСКАНЕ НА ПРОЗОРЕЦ КАЛКУЛАТОР && прозорците се затварят

CLEAR WINDOWS && прозорците се затварят

ЗАДАВАНЕ НА СИСТЕМНО МЕНЮ ПО ПОДРАЗБИРАНЕ && менюто по подразбиране е зададено

ЗАТВОРИ ВСИЧКИ && всички файлове са затворени

При стартиране на менюто автоматично се изпълнява командата READ EVENTS, която включва механизма за обработка на събития. Този механизъм реагира на движение през елементите на менюто и осигурява предаване на събития към формите и обектите в тях, включително менюто.

Деактивирането на механизма за обработка на събития се извършва от командата CLEAR EVENTS. Това спира обработката на събитието, но обектът остава активен.

Следващата стъпка е да създадете програмния файл на менюто. За да направите това, изберете елемента Генериране от менюто. Това ще изисква да въведете име на файл на менюто. Ще бъдат създадени два файла с описание на менюто с разширения .mnx и .mnt (разширенията ще бъдат зададени автоматично). След това ще се отвори прозорецМеню Generate, което ще посочи името на генерирания програмен файл (Output file), който има разширение .mpr. Дайте име на файла и щракнете върху бутона Генериране. Сега можете да затворите прозореца за създаване на меню. Така при създаването на менюто бяха създадени три файла, които се различават по разширение.

Меню Старт

За да стартирате менюто, изберете DO! в менюто Програма. В прозореца DO, който се отваря, изберете файла с менюто с разширение .mpr и натиснете enter. Забележете, че създаденото от вас меню се появявавместоглавното меню на FoxPro. Опитайте всички елементи от менюто. За да излезете, използвайте елемента Изход от създаденото меню.

Моля, обърнете внимание, че след стартиране на програмата се появи четвъртият файл - компилираният програмен файл на менюто с разширение .mpx

Понятие за събитие и метод

Работата с обекти на Visual FoxPro се управлява от събития. Събитие (Event) възниква, ако потребителят щракне върху бутона на мишката (Click), премести обекта (DragDrop), избере друг обект (LostFocus) и т.н.

Командата READ EVENTS се използва за разрешаване на програма на Visual FoxPro да реагира на събития. Тази команда се изпълнява автоматично при стартиране на меню, използване на формуляр и в други случаи, когато VFP трябва да отговори на събития. При възникване на събитие, на което обектът може да отговори, се изпълнява програмният код на метода за обработка на това събитие (Метод), свързан с него.

За да може даден обект да отговори на събитие, трябва да използвате прозореца Свойства, работата с който е разгледана по-долу. Пример е разгледан по-долу, вижте главата "Обработка на събития".

Пример за обработка на събитие

Често се налага във формуляра да се вграждат бутони, чието щракване задейства дефинирано от потребителя действие. Използвайте инструмента Command Button, за да създадете бутон.бутон) в панела за управление на формуляр. Нека създадем бутон за излизане от формата.

След като създадете бутона, задайте надписа "Изход" върху него, като коригирате свойството Caption (Title). За да направите това, поставете в полето за въвеждане на прозореца Properties текста, който ще се показва на бутона.

След като бутонът е поставен във формата, е необходимо да се определи реакцията на бутона към щракване с мишката, т.е. да се обработи щракване с мишката върху създадения бутон за изход (събития при щракване). За да направите това, трябва да създадете програмен код (процедура), който ще се изпълнява след щракване.

В прозореца Свойства изберете раздела Методи. Позиционирайте курсора върху метода Click и щракнете двукратно. На екрана ще се отвори прозорец за създаване на процедури. Въведете командите, които да бъдат изпълнени, когато се щракне върху този бутон. Програмният код е показан на фигура 36.

Запазете въведения програмен код чрез менюто File → Save. Затворете прозореца на процедурата, като натиснете клавиша ESC или чрез менюто File → Close. Пуснете формата за изпълнение и проверете функционалността на създадения бутон.