Презентация Системные диалоговые окна в Delphi


Системные диалоговые окна в Delphi Системные диалоговые окнаЭто невизуальные компоненты, которые выполняют стандартные для Windows диалоги пользователя и программы. Стандартные диалоговые окна определяются средой Windows. Страница Dialogs Палитры компонентовopenDialog (выбор открываемого файла);saveDialog (выбор сохраняемого файла);openPictureDialog (выбор открываемого графического файла);savePictureDialog (выбор сохраняемого графического файла);openTextFileDialog (выбор открываемого текстового файла);saveTextFileDialog (выбор сохраняемого текстового файла);FontDialog (настройка параметров шрифта);ColorDialog (выбор цвета);PrintDialog (вывод на принтер);PrinterSetupDialog (выбор принтера и настройка его параметров);FindDialog (ввод строки текста для поиска);ReplaceDialog (ввод строк текста для поиска и для замены);PageSetupDialog (установка параметров страницы). Метод Execute Для вызова любого стандартного диалогового окна используется метод Execute — функция, возвращающая логическое значение. При закрытии диалога кнопкой ОК (либо Open или Save) функция Execute возвращает значение True, а при отмене диалога — значение False. Работа со стандартными диалоговыми окнами осуществляется в три этапаНа форму помещается соответствующий компонент и осуществляется настройка его свойств.Осуществляется вызов стандартного для классов диалоговых окон метода Execute, который создает и показывает на экране диалоговое окноПроанализировав результат вызова метода Execute, программа может выполнить третий этап – использовать введенные с помощью диалогового окна данные – имя файла, параметры принтера, выбранный шрифт и т.д. OpenDialog и SaveDialogДиалоговые окна выбора имени файла используются в процессах открытия и сохранения файла. Основные свойстваFileName типа String — указывает имя и полный путь файла, выбранного в диалоге. Имя файла является результатом диалога.Title типа String— задает заголовок окна. Если свойство Title не установлено, то по умолчанию используется заголовок Open для OpenDialog и заголовок Save — для SaveDialog. Основные свойстваInitiaLDir типа String— определяет каталог, содержимое которого отображается при вызове диалогового окна. Если каталог не задан, то отображается содержимое текущего каталога.DefaultExt типа String — задает расширение, автоматически используемое в имени файла, если пользователь не указал расширение. Filter типа String— задает маски имен файлов, отображаемых в раскрывающемся списке Тип файлов. По умолчанию значением Filter является пустая строка, что соответствует отображению имен файлов всех типов.OpenDialog1.Filter :='Текстовые файлы|*.txt; *.doc|Все файлы|*.*';Основные свойства FilterIndex типа Integer — указывает, какая из масок фильтра отображается в списке. По умолчанию свойство FilterIndex имеет значение 1 (используется первая маска).Основные свойства Редактор фильтра (Filter Editor) Основные параметры свойства OptionsofAllowMultiSelect Позволяет пользователю выбирать несколько файлов ofCreatePrompt В случае, если пользователь написал имя несуществующего файла, появляется замечание и запрос, надо ли создать файл с заданным именем ofEnableIncludeNotify Разрешает посылать в диалог сообщения ofEnableSizing Разрешает пользователю изменять размер диалогового окна ofExtensionDifferent Этот флаг, который можно прочитать после выполнения диалога, показывает, что расширение файла, выбранного пользователем, отличается от DefaultExt ofFileMustExist В случае, если пользователь написал имя несуществующего файла, появляется сообщение об ошибке ofHideReadOnly Удаляет из диалога индикатор Открыть только для чтения ofNoChangeDir После щелчка пользователя на кнопке OK восстанавливает текущий каталог, независимо от того, какой каталог был открыт при поиске файла ofNoDereferenceLinks Запрещает переназначать клавиши быстрого доступа в диалоговом окне ofNoLongNames Отображаются только не более 8 символов имени и трех символов расширения ofNoNetworkButton Убирает из диалогового окна кнопку поиска в сети. Действует только если флаг ofOldStyleDialog включен ofNoReadOnlyReturn Если пользователь выбрал файл только для чтения, то генерируется сообщение об ошибке ofNoTestFileCreate Запрещает выбор в сети защищенных файлов и не доступных дисков при сохранении файла ofNoValidate Не позволяет писать в именах файлов неразрешенные символы, но не мешает выбирать файлы с неразрешенными символами Основные параметры свойства Options ofOldStyleDialog Создает диалог выбора файла в старом стилеofOverwritePrompt В случае, если при сохранении файла пользователь написал имя существующего файла, появляется замечание, что файл с таким именем существует, и запрашивается желание пользователя переписать существующий файл ofPathMustExist Генерирует сообщение об ошибке, если пользователь указал в имени файла несуществующий каталог ofReadOnly По умолчанию устанавливает индикатор Открыть только для чтения при открытии диалога ofShareAware Игнорирует ошибки нарушения условий коллективного доступа и разрешает, несмотря на них, производить выбор файла ofShowHelp Отображает в диалоговом окне кнопку Справка Основные параметры свойства Options Примерprocedure TForm1.Button2Click (Sender: TObject);Beginif OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);end; СобытияOnCanClose возникает при нормальном закрытии пользователем диалогового окна после выбора файлаOnFolderChange — изменение каталога, OnSelectionChange — изменение имени файла, OnTypeChange — изменение типа файла ColorDialogЦвет выбранный пользователем, основное свойство данного компонента, определяется свойством Color.В свойстве CustomColors можно задать цвета дополнительной палитры. Цвета задаются строками:порядковый номер цвета = шестнадцатеричное представление цвета; OptionscdFullOpen - при открытии диалогового окна видныобе панели;cdPreventFullOpen - кнопка "Определить цвет" будет недоступной (серого цвета) и как следствие мы не сможем вызвать правую панель для определения цвета;cdShowHelp - справа, после кнопки отмена в диалоговом окне появиться кнопка "Справка";sdSolidColor - дается указание использовать ближний к выбранному сплошной цвет, что уменьшает палитру;cdAnyColor - tcnm возможность выбрать не сплошные цвета. Примерprocedure TForm1.Button1Click(Sender: TObject);begin if ColorDialog1.Execute then edit1.Color := ColorDialog1.Color;end; FontDialogДиалоговое окно выбора названия (гарнитуры) и других параметров шрифта. Основные свойстваFont типа TFont определяет параметры шрифта. Управление параметрами шрифта осуществляется через его подсвойства, наиболее важными из которых являются Name, Style, Size, Color.MaxFontSize типа Integer ограничивает доступный в диалоговом окне максимальный размер шрифта. Активно, если включен параметр fdLimitsize.MinFontSize типа Integer ограничивает доступный в диалоговом окне минимальный размер шрифта. Активно, если включен параметр fdLimitsize. Device типа TFontDialogDevice указывает тип устройства, для которого устанавливается шрифт, и может принимать одно из трех значений:fdScreen (вывод на экран);fdPrinter (вывод на принтер);fdBoth (вывод на экран и принтер).Основные свойства Options типа TFontDialogOptions служит для настройки отдельных параметров диалога и включает свыше полутора десятков параметров; важнейшие из них (по умолчанию включен параметр fdEffects):fdEffects (отображение флажков атрибутов Подчеркнутый и Зачеркнутый, а также списка Цвет);fdLimitsize (активизация свойств MaxFontSize и MinFontSize, устанавливающих допустимый диапазон размеров шрифта);fdTrueTypeOnly (отображение в списке только шрифтов TrueType);fdWysiwyg (отображение в списке шрифтов, одновременно доступных и для экрана, и для принтера).Основные свойства Примерif FontDialog1.Execute thenbeginLabel1.Font := FontDialog1.Font;end; FindDialogСлужит для ввода текстовой информации в строку Find what (Строка поиска). Введенная строка является значением свойства FindText типа String. Кодирование операций, связанных собственно с поиском строки, осуществляется программистом. Для этого используется событие onFind типа TNotifyEvent, возникающее при нажатии кнопки Find Next (Найти далее). Действия, связанные с поиском текста, должны выполняться внутри процедуры-обработчика этого события. Options (FindDialog и ReplaceDialog )frDisableMatchCase, frDisableWholeWord, frDisableUpDown — снимают флажки Match case (Учитывать регистр), Match whole word only (Совпадение только по целым словам) и переключатели Direction (Направление поиска) соответственно;frDown — активизирует переключатель Down (Вниз) при открытии диалога;frFindNext — устанавливается при нажатии кнопки Find Next и сбрасывается при закрытии диалога;frHideMatchCase, frHideWholeWord, frHideUpDown — удаляют из диалога флажки Match case, Match whole word only и переключатели Direction соответственно; frMatchCase — включается при установке флажка Match case;frReplace (для ReplaceDialog) — указывает на необходимость заменить текущее вхождение строки FindText строкой ReplaceText;frReplaceAll (для ReplaceDialog)— указывает, что необходимо заменить все вхождения строки FindText строкой ReplaceText;frShowHelp — отображает кнопку Help;frWholeWord — включается при установке флажка Match whole word only.Options (FindDialog и ReplaceDialog ) Примерprocedure TForm1.FindDialog1Find(Sender: TObject);Beginif pos(FindDialog1.FindText, Memo1.Text) <> 0 then Begin Memo1.HideSelection := False; Memo1.SelStart := pos(FindDialog1.FindText, Memo1.Text) - 1; Memo1.SelLength := Length(FindDialog1.FindText); end else MessageDlg ('Строка ' + FindDialog1.FindText + ' не найдена!', mtConfirmation, [mbYes], 0);end; ReplaceDialogОрганизует стандартное диалоговое окно replace, предназначенное для ввода текстовой информации в строки Find what (найти) и Replace with (заменить на). Введенные строки являются значениями свойств Findtext и Replacetext типа string соответственно. Событие Onreplace типа tnotifyevent, возникает при нажатии кнопок Replace и Replace all. Связанные с поиском и заменой текста действия должны выполняться в обработчике этого события. PageSetupDialogСлужит для указания размеров бумаги, выбора способа подачи бумаги, выбора ориентации страницы и определения размеров полей. СвойстваMarginBottom, MarginLeft, MarginRight и MarginTop — соответственно определяют нижнее, левое, правое и верхнее поля страницы;PageHeihgt и PageWidth — определяют высоту и ширину страницы; OptionspsoDefaultMinMargins — запрещает пользователю изменять минимальные поля страницы;psoDefaultDesableMargins — запрещает пользователю изменять поля страницы;psoDefaultDesableOrientation— запрещает пользователю изменять ориентацию страницы;psoDefaultDesablePagePainting— запрещает отображение образца страницы по умолчанию;psoDefaultDesablePaper — запрещает пользователю изменять размеры страницы и источник бумаги;psoDefaultDesablePrinter — делает неактивной кнопку вызова диалога настройки дополнительных параметров принтера;Units — служит для выбора единиц измерения размеров полей, задаваемых пользователем (в миллиметрах или в дюймах). Вызов диалогового окнаPageSetupDialog1.Execute; PrintDialog и PrinterSetupDialog Предназначены для организации диалогов, связанных с выводом информации на принтер.Управляют заданиями печати и параметрами принтера соответственно. Эти стандартные диалоговые окна содержат в верхней части группу компонентов, обеспечивающую выбор принтера и настройку его параметров.Кроме того, диалог PrintDialog позволяет при выводе информации на принтер задать ряд таких параметров, как диапазон печатаемых страниц, начальную и конечную страницы, качество печати (разрешение указывается в единицах dpi — точках на дюйм), число копий, возможность печати в файл. Диалог PrintDialog позволяет установить параметры вывода информации на принтер, после чего программист должен организовать собственно процесс печати.Диалог PrinterSetupDialog позволяет устанавливать характеристики бумаги, такие как размер, способ подачи и ориентация. Сделанные в этом диалоговом окне настройки и изменения выполняются Windows автоматически и вступают в силу сразу после закрытия окна, поэтому никаких специфических свойств PrinterSetupDialog не имеет. Вызов диалогового окнаPrinterSetupDialog1.Execute; Cвойства PrintDialogFromPage типа integer (номер начальной страницы);ToPage типа integer (номер конечной страницы);Copies типа integer (число печатаемых копий); если свойство имеет значение 0 или 1, то в окне устанавливается значение 1 (по умолчанию);PrintToFile типа Boolean (состояние флажка Печать в файл: если флажок установлен, то свойство PrintToFile имеет значение True, в противном случае оно имеет значение False (по умолчанию)); PrintRange типа TPrintRange (диапазон печати):prAllPages (печатать все страницы);prSelection (печатать выделенный фрагмент);prPageNums (печатать указанные страницы с ... по ... );Cвойства PrintDialog Options poDisablePrintToFile (снять флажок Печать в файл) — действует при установленном параметре poPrintToFile;poHelp (отобразить кнопку Справка);poPageNums (активизировать переключатель Страницы);poPrintToFile (отобразить флажок Печать в файл);poSelection (активизировать переключатель Выделенный фрагмент);poWarning (выдать предупреждение при попытке послать задание на неинсталлированный принтер).