Знайте, Intuit, лекция, мулти приложения
Анотация: В тази глава ще разгледаме създаването на Мултискрининговите приложения. На практика се научите как да създадете модален и немодални прозорци. Ние изучаваме подробно създаването на SDI-интерфейс, малко докосване на принципите на MDI-интерфейс.
Целта на лекцията
Научете как да създавате приложения за няколко прозореца използват модални и немодални прозорци.
приложения за няколко прозореца
Досега ние сме с вас всички приложения, направени с един прозорец. В същото време, в редките програми, които имат само един прозорец в съвременното програмиране. Дори и прости стандартни комунални услуги като калкулатор calc.exe или играта "Миночистач" - winmine.exe имат няколко прозорци. Наскоро приключи проект за една и съща организация, проектът може да се счита за средна сложност, и съдържа 102 прозорци! В тази глава ще научите как да направите приложения за няколко прозореца.
Има два вида интерфейс: SDI (Single Document Interface - един общ интерфейс документ) и MDI (Multi Document Interface - Multiple Document Interface). SDI -applications работа едновременно на един и същ документ, MDI -applications предназначени за едновременна работа на множество подобни документи. В този случай всички документи са разположени в един контейнер, който обикновено е основната форма. Microsoft не препоръчва използването на MDI интерфейси са, въпреки че тя ги използва в най-различни програми за услуги, като конзоли като диспечера на устройствата. В допълнение, развитието на MDI-базирани приложения в Лазар не се изпълнява, така че данните няма да считаме, MDI интерфейси са, макар и кратка и докосване на тази тема. Но първо - SDI.
Прозорците на SDI-приложенията могат да бъдат два вида - модалните и немодални. Те са създадени едни и същи, разликата е само в процеса на оттегляне на тези прозорци на екрана. Модален прозорец е блокиране на програмата, не позволява тя да работи, стига да не затваряйте този прозорец. Типичен пример за модален прозорец - прозореца "За", която присъства в почти всяко приложение. Като правило, такъв прозорец е в менюто "Помощ". Докато не натиснете "ОК", за да затворите прозореца, не можете да работите с основната програма.
Ние сме изучаване на произведенията на различни прозорци в примерите.
модални прозорци
Ако си спомняте, в "Notepad - енкодер", което направихме лабораторна работа - Notebook-шифър. Там ние сме предвидили в "Help" менюто меню "Информация", но прозорецът не го направи. Това е време, за да поправи този пропуск. Може би трябва да спаси проекта в 18-01 папка с име дешифриране. Уверете се, че Лазар е затворен и се зареди CodeBook.lpi файл - файл с информация за проекта. В резултат на това Лазар е заредена с проекта (със същия успех може да се CodeBook.lpr изтегляне на файла).
В Надпис собственост на формата, пише "Информация".
Сменете формата на обикновен бар TPanel. почистване Надпис на собственост. За да направите хубава рамка на панела, задайте стойността му имот BevelInner bvLowered.
Долен панел, разположен TBitBtn раздела Бутон палитри Допълнителни компоненти. в един бутон имот Kind да изберете bkOK.
За да спестите място, няма подробности, за да рисувате, как да въведете текст в етикета, промяна на компонентите в шрифтове и размери - имате голяма нужда да бъде в състояние да го направя сам. В резултат на това вие трябва да получите нещо подобно на тази форма:
Фиг. 20.2. Форма fAbout
Имайте предвид, че във всички компоненти избрах вашия любим шрифт - Times New Roman - можете да изберете свой собствен трябва само да изберете подходящия размер и тегло.
Генериране на събитието OnClick на командата на менюто "Помощ -> About" (ако си спомняте, за да направите това, просто изберете командата). код му е много проста:
ShowModal метод. посочен в кода причинява fAbout екрана прозорец в модален режим. До прозореца е затворен, програмата няма да бъде изпълнена. След като това се затваря, контрол ще бъде предаден обратно към програмата. Запазване на проекта, той се движи и се уверете, че в квадратчето "За" се нарича по заявка и затвори с бутона "ОК". Но не бързайте да се затвори проекта, ние все още се нуждаят от нея.
Благодарим Ви за прекрасен, разбира се!
Независимият работата №2 съставяне MyCript.pas модул (OS: Windows 7 x64, Лазар 1.4 Win64), издадени за грешка в монтажа код
mycript.pas (54,5) Грешка: Asm: [тласък reg32] невалидна комбинация от опкод и операнди
mycript.pas (95,5) Грешка: Asm: [поп reg32] невалидна комбинация от опкод и операнди
Аз разбирам, че курса е готов за 32-битова операционна система, но какво да кажем в случая с 64-битови системи?
На манипулаторите FileCreate елементи на менюто, FileOpen, както и затваряне на формуляра манипулатор OnClose - в тези три процедури съдържат един и същ код
тях, преди да създадете нов текст>
ако след това Memo1.Modified започне
// ако потребителят е съгласен да запазите промените:
ако MessageDlg ( "Запиши като"
"Сегашната файлът е редактиран. Запазване на промените?
mtConfirmation [mbYes, mbNo, mbIgnore], 0) = mrYes тогава
FileSaveClick (подателя);
приключи; // ако
Позволете ми да ви попитам: няма ли да е по-добре да се направи този код в отделна процедура, например - под формата на манипулатор на събитие OnCloseQuery? Доколкото мога да си спомня за Delphi опит, обадете се на тази процедура сама по себе си не би трябвало да доведе до затварянето на формата. Това означава, че тя може да се използват при процедури за почистване Memo1 и четене от файл. Или в Лазар не можеш да направиш?