![]() |
|||||
| Процесори :: Дънни платки
:: Видео :: Мултимедия
:: Носители :: Периферия Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум |
|||||
| Стандартните диалози в Delphi | |||||
|
|
|||||
| Стандартните компоненти в Windows, като бутони, списъци и менюта, винаги са придавали на програмите под Windows удобна еднотипност. Windows 3.1 повиши нивото на еднотипността с така наречените стандартни диалози. Сега всяка програма в Windows ползва еднакви диалози за избор на файл, на шрифт, на цвят, за търсене и заместване на текст и за отпечатване. Delphi предоставя тези диалози на ваше разположение. Те ще ви спестят време и усилия, и най-вече ще направят програмата ви по-лесна за използване. - Общи свойства Стандартните диалози в Delphi се намират на страницата Dialogs в палитрата Components и имат много общи черти. По време на тяхното създаване всички те се появяват във формата на малки икони, които не могат да променят размерите си, а по време на изпълнение на програмата не се вижда никоя от тях. За да се появи компонент-диалог в отговор на събитие, трябва да извикате метода Execute: DialogName.Execute Когато бъде отворен някой от диалозите File, COLOR, PrinterSetup и Print програмата ви не може да продължи, докато потребителя не натиснете някой от бутоните OK или Cancel, при което функцията Execute връща true (при натиснат ОК) или false (при натиснат Cancel). При диалозите Find и Replace веднага се връща управлението на програмата, а диалогът остава редом с работния прозорец, докато не бъде затворен от потребителя. Всички диалози имат свойството Ctl3D. Въпреки че всикчи диалози в Windows са 3D, това свойство съществува. Също така те разполагат със свойството HelpContext, а в свойството Options имат подствойство, разрешаващо бутона Help. Ако на това подсвойство зададете стойност true, натискането на бутона извежда страницата от вградената помощна система с номер, указан в HelpContext (това разбира се става, ако имате разработена вградена помощна система). За разлика от останалите диалози, диалозите Font, Find и Repace имат асоциирани събития, предизвикани от натискането на бутоните в диалога. По нататък са раз разгледани подробно всеки един от диалозите - OpenFile Диалога OpenFile, както показва името му, се използва за да даде възможностна потребителя да отвори файл с данни.
- Свойства: Title определя заглавието на диалога Open File. По подразбиране това заглавие е просто Open. - FileName показва избрания файл. Когато потребителя натисне Open, диалога изчезва и програмата извлича името на избрния файл от свойството FileName. Ако искате диалогът да се появява с предварително изписано име на файл, програмата ви трябва да впише името му в това свойство преди да извика диалога. В продивен случай програмата запазва стойността от последното извикване на диалога. - InitialDir определя коя директория трябва да бъде отворена първоначално в диалога. Ако го оставите без стойност, диалогът ще започне от последната ползвана от програмата директория. - DefaultExt определя разширението по подразбиране. Това не е толкова необходимо, но понякога е удобно. Ако потребителя изпусне да впише разширението на файла, диалогът Open File ще прикачи към него разширението по подразбиране. Освен това диалогът предупреждава, ако потребителят избере файл с друго разширение. - Filter ви позволява да създадете списъка Files of type. - FilterIndex показва кой от елементите във филтъра трябва да бъде избран първоначално. Просто го оставяте със стойност по подразбиране 1 и слагате най-разпространения тип на първо място в списъка. - FileEditStyle ви дава възможност да изберете между текстово поле за име на файла и комбинирано поле. - Options съдържа множество подсвойства със стойности true или false. - Опции за изобразяването - ofShowHelp определя дали да е показан бутона HELP - ofHideReadOnly премахва полето Open as read-only. Диалога на картинката по-горе е със стойност false и на двете свойства. - ofNoLongNames налага стила на DOS за имена на файлове (8 знака за името и 3 за разширението). - ofOldStyleDialog създава диалога в стил Windows 3.1 - Опции за действията, достъпни за потребителя - ofNoValidate разрешава въвеждането на невалидни символи в текстовото поле File Name. - ofNoReadOnlyReturn забранява отварянето на read-only файлове. Това няма отношение към полето за отметка Open as read only - свойството ofNoReadOnlyReturn определя кои файлове могат да бъдат избрани, докато полето за отметка определя дали потребителят иска да отвори файл в режим само за четене. - ofFileMustExist забранява отварянето на файл, който не съществува. Ако поддържате създаване и отваряне на нови файлове, ако зададете стойност true на ofCreatePrompt ще накарате диалога да пита за потвърждение преди да създаде нов файл - така ако потребителя въведе несъществуващ файл може да създаде файл с това име или да се върне към диалога и да избере файла, който му е необходим. - SaveFile Когато някоя програма отваря даден файл, обикновено използва диалога OpenFile. А когато трябва да запише файл под ново име, тя използва диалога SaveFile. Тези два диалога ползват едни и същи свойства. Единствената разлика е в тълкуването на някои от опциите. - OfCreatePrompt няма отношение към този диалог. - OfOverwritePrompt предупреждава потребителя, ако той записва файл с вече съществуващо име - OfReadOnly просто няма смисъл за този диалог.
- Fonts
- Device определя какви шрифтове да бъдат показани: екранни, за печат или за двете. - Font съдържа текущия шрифт преди да се извика диалога,а след затварянето му във Font е записан избрания от потребителя шрифт. - Опции за изобразяването - fdShowHelp определя дали да има бутон Help. Натискането му води до отваряне на страницата на вградената помощна система, номерът накоято е в HelpContext. - fdEffects е единствената опция със стойност True по подразбиране. Ако зададете False, от диалога изчезва секцията Effects, позволяваща ви да задавате ефекти на подчертаване (Underline) и задраскаване (Strikeout). - fdNoFaceSel, fdNoSizeSel и fdNoStyleSel премахват инициалните изписвания на стойностите по подразбиране в полетата Font, FontSize i Style. Използвайте тези опции само ао желаете да можете да сменяте шрифта на текст, оформен с повече от един стил или размер.
- Опции за достъпните шрифтове Останалите свойства ограничават типа на шрифтовете които се появяват. - fdAnsiOnly ограничава списъка само до шрифтовете с нормалните знаци на Windows, в случай че не считате, че потребителите ще използват в записките си Symbols, Windings или други не-буквени шрифтове. - fdTrueTypeOnly изключва шрифтовете които не са от гъвкавия тип TrueType на Windows. - fdFixedPitchOnly изключва шрифтове, чиито букви нямат еднаква ширина. - fdLimitSize ви позволява да ограничите размера на буквите, за да не бъде избиран размер, който не може да се събере в екрана, или толкова дребен шрифт, че да не се вижда. Задайте му стойност True и въведете желаните от вас минимален и максимален размер в MinFontSize и MaxFontSize - Color
- Свойства Color съдържа избрания цвят. CustomColors е списък с 16 реда, всеки от които се състои от име на цвета (от ColorA до ColorP) знак за равенство и шеснайсетична стойност на съответния цвят - Опции за изобразяването - cdFullOpen определя дали диалогът да е напълно отворен - cdPreventFullOpen определя дали е забранено отварянето на секцията Custom Colors - cdShowHelp определя дали диалогът да има бутон Хелп. - cdSolidColor разрешава избирането само на възможните за показване цветове - cdAnyColor разрешава избирането на който и да е цвят, като ако той не може да е покаже се смесват различни цветове за да максимално го наподобят - PrintSetup Диалогът Printer Setup позволява на потребителя да избере кои от инсталираните принтери да използва и да го настрои преди да започне отпечатването. Този диалог ви дава почивка - той не отговаря на никакви събития и няма нужда да задавате стойности на свойствата му. Всичко което трябва да направите е да сложите един диалог PrinterSetup във формата си и да изпълните функцията му Execute. В обработката на съответното събитие, което го извиква, просто вписвате. Някои от свойствата в диалога Print определят първоначалните свойности в него и в последствие съдържат нововъведената от потребителя информация. Такива са: - Collate определя начина на отпечатване на документа. Ако е със стойност true, полето за отметка Collate е отбелязано и ако зададете да се отпечат няколко копия на даден документ, то първо ще се отпечата едно копие на целиа документ, след това второ копие и т.н. Ако Collate е false първо се отпечатват всички копия на страница 1, след това на страница 2 и т.н. Полето за отметка Collate е затъмнено, ако съответния принтер не поддържа втория начин на отпечатване. - Copies съответства на текстовото поле Number of copies и обикновено е 1. Ако потребителя увеличи този брой, програмата трябва да е отговорна да отпечата толкова копия. - FromPage и ToPage определят диапазона от страници за отпечатване, а MaxPage и MinPage определят областта от валидни стойности на FromPage и ToPage. - PrintRange съответства на един от трите радиобутона в групата Print range. FromPage и ToPage не се взимат под внимание, освен ако свойството PrintRange е prPageNums. - PrintToFile е обвързано с полето за отметка Print to file. Ако то е отбелязано, програмата трябва да поиска от потребителя име на файл и да осъществи печат в него. Свойството Options и неговите подсвойства определят кои части от диалога да бъдат показани. - poPrintToFile разрешава полето за отметка Print to file. - poPageNums разрешава достъпа до радиобутона Pages. - poSelection разрешава отпечатване на маркирания участък - Warning определя дали диалога да предупреждава, ако няма избран принтер по подразбиране. - poHelp определя дали в диалога да има бутон Help. - Отпечатване на текст с помощта на диалога Print Вие можете да отпечатате съдържанието на два компонента - Memo и RichEdit. RichEdit сам се грижи за отпечатването на съдържанието си - всичко което трябва да направите е в обработката на събитието, извикващо диалога Print да впишете: IF PrintDialog1.Execute THEN Ако искате да отпечатате съдържанието на Memo ви е необходима малко повече работа: VAR: И в двата случая трябва да добавите Printers към клаузата uses в началото на файла. - Find
- Свойства: - FindText съдържа текста, въведен от потребителя в диалога Find - frMatchCase показва дали е избрано полето Match Case (точно съвпадане на главни и редовни букви) - frWholeWord показва дали е избрано полето Match Whole Word Only (за цяла дума) - frDown показва дали е избрана опцията Down - frHideMatchCase определя дали да бъде премахнато полето за отметка Match Case - frHideWholeWord определя дали да бъде премахнато полето за отметка Match Whole Word Only - frHideUpDown определя дали да бъде премахнат избора за търсене нагоре или надолу - frDisableMatchCase определя дали да бъде забранено полето Match Case - frDisableWholeWord определя дали да бъде забранено полето Match Whole Word Only - frDisableUpDown определя дали да бъде забранен избора нагоре или надолу да се търси - frFindText показва дали е натиснат бутона Find Next Диалогът Find само ви предоставя информация за търсения от потребителя текст - работата по намирането му трябва да извършите вие. Този диалох отговаря само на едно събитие - OnFind, предизвикано от натискането на някой от бутоните Find или Find Next - Replace
- Свойства: - FindText съдържа текста, въведен от потребителя в диалога Find - frMatchCase показва дали е избрано полето Match Case (точно съвпадане на главни и редовни букви) - frWholeWord показва дали е избрано полето Match Whole Word Only (за цяла дума) - frDown показва дали е избрана опцията Down - frHideMatchCase определя дали да бъде премахнато полето за отметка Match Case - frHideWholeWord определя дали да бъде премахнато полето за отметка Match Whole Word Only - frHideUpDown определя дали да бъде премахнат избора за търсене нагоре или надолу - frDisableMatchCase определя дали да бъде забранено полето Match Case - frDisableWholeWord определя дали да бъде забранено полето Match Whole Word Only - frDisableUpDown определя дали да бъде забранен избора нагоре или надолу да се търси - frFindText показва дали е натиснат бутона Find Next - ReplaceText съдържа текста в полето Replace Width - frReplace показва дали е натиснат бутона Replace - frReplaceAll показва дали е натиснат бутона Replace All Диалогът Replace отговаря на две събития - onFind, предизвикано от натискането на някой от бутоните Find или Find Next и OnReplace, предизивкано от натискането на някой от бутоните Replace или Replace All. Този диалог само ви предоставя въведената от потребителя информация, вашата програма е отговорна за намирането и заменянето на текста. |
|||||
![]() |
|||||
| Материалът е публикуван на: 08.12.2002
г. |
Автор: Максим
Крижановски |
||||
| Начало на материала :: Процесори :: Дънни платки
:: Видео :: Мултимедия
:: Носители Периферия :: Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум |
|||||
|
|||||