- •Delphi Справочник по компонентам. Класс tList
- •Класс tStream
- •Функции работы с файлами
- •Функции преобразования чисел с плавающей точкой
- •Функции работы с датами и временем
- •Элементы управления
- •Положение, размеры и выравнивание элементов управления
- •Активность и видимость элементов управления
- •Внутренний интерфейс Drag&Drop
- •Ярлычки и оперативная подсказка
- •Оконные элементы управления
- •Фокус ввода
- •Графическая подсистема
- •Класс tFont
- •Класс тРеn
- •Класс tBrush
- •Класс tCanvas
- •Класс tGraphic
- •Класс tPicture
- •Класс tMetafile
- •Класс tIcon
- •Класс tBitmap
- •Описание компонентов vcl
- •TPopupMenu.
- •Компонент tMainMenu
- •Компонент tPopupMenu
- •Компонент tBitBtn
- •Компонент tSpeedButton
- •Компонент tRadioGroup
- •Компонент tSpinButton
- •Ввод и редактирование текста
- •Компонент tEdit
- •Компонент тМеmo
- •Компонент tMaskEdit
- •Функции для форматирования текста
- •Оформление приложения
- •Компонент tPaintBox
- •Компонент tBevel
- •Компонент tImage
- •Компонент tHeader
- •Ввод и выбор значений
- •Компонент tListBox
- •Компонент tComboBox
- •Компонент tScrollBar
- •Компонент tSpinEdit
- •Компонент tDrawGrid
- •Многостраничные диалоговые окна
- •Компонент tNotebook
- •Компонент tTabSet
- •Компонент tTabbedNotebook
- •Группирование компонентов
- •Компонент tGroupBox
- •Компонент tPanel
- •Компонент tScrollBox
- •Компоненты — стандартные диалоговые окна Windows
- •Компоненты tOpenDialog и tSaveDialog
- •Компонент tColorDialog
- •Компонент tFontDialog
- •Компонент tPrintDlalog
- •Компонент tFindDialog
- •Компонент tReplaceDialog
- •Работа с файловой системой
- •Компонент tDriveComboBox
- •TDirectoryListBox
- •Компонент tFileListBox
- •Компонент tFilterComboBox
- •Компонент tDirectoryOutline
- •Работа со средствами мультимедиа
- •Динамический обмен данными (dde)
- •Компонент tdDeServerConv
- •Компонент tdDeServerltem
- •Компонент tddeciIentConv
- •Компонент tddecIientltem
- •Дополнительные компоненты
- •Компонент tGauge
- •Компонент tCalendar
- •Компонент tColorGrld
- •Использование интерфейса ole
- •Компонент toleContainer
- •Форма и ее свойства
- •Управление дочерними элементами
- •Приложение и среда его выполнения
- •Объект Application
- •Объект Clipboard
- •Компонент tScreen
- •Файлы инициализации
- •Печать данных из приложения
- •Компонент tSession
- •Компонент tDatabase
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tQuery
- •Компонент tStoredProc
- •Компонент tReport
- •Компонент tBatchMove
- •Компонент tField
- •Объект tFieldDef
- •Важнейшие типы данных
- •Компоненты отображения данных и управления данными
- •Компонент tdbGrid
- •Компонент tdbNavigator
- •Компонент tdbText
- •Компонент tdbEdit
- •Компонент tdbMemo
- •Компонент tdbImage
- •Компонент tdbListBox
- •Компонент tdbComboBox
- •Компонент tdbCheckBox
- •Компонент tdbRadioGroup
- •Компонент tdbLookupUst
- •Компонент tdbLookupCombo
Компонент tReplaceDialog
TObject—>TPersistent—>TComponent->TCominonDialog-”TFindDialog->
->TReplaceDialog
Модуль DIALOGS
Страница Палитры компонентов Dialogs
Этот диалог отличается от предыдущего тем, что позволяет найденный текст заменить на другой, заданный свойством:
(РЬ) property ReplaceText: string;
При нажатии кнопок Replace или Replace All в диалоге возникает событие
(Pb) property OnReplace: TNotifyEvent;
При этом в множество Options добавляется одна из новых опций — fi-Replace или frReplaceAll. В обработчике этого события нужно предусмотреть поиск и замену текста.
Использование стандартньк диалоговых окон иллюстрирует пример DEMOEDIT. Это простой однооконный редактор текста, который, однако, использует все семь компонентов-диалогов. Для поиска и замены в нем задействован модуль SEARCH, приведенный в одном из примеров фирмы Borland. Модуль можно найти в каталоге DELPHI\DEMOS\TEXTDEMO.
Типовые диалоги
Отдельную группу составляют функции, реализующие простые типовые диалоги (не входящие в Палитру компонентов): посылка сообщения пользователю, получение от него одного из множества возможных ответов, ввод строки. В Windows API для этого предназначалась функция MessageBox. В Delphi существует целый ряд специализированных функций.
Простейшую задачу — информирование пользователя сообщением — можно решить при помощи функций:
procedure ShowMessage(const Msg: strings-procedure ShowMessagePos(const Msg: string; X, Y: Integer);
В этом случае диалог состоит из статического текста Msg и кнопки ОК. Вторая функция отличается тем, что диалог можно поместить в требуемую точку (X.Y).
Когда после информирования пользователя требуется получить от него определенный ответ, нужно применить одну из функций:
function MessageDig(const Msg: string; AType: TMsgDigType; AButtons:
TMsgDigButtons; HelpCtx: Longint)-: Word;
function MessageDlgPos(const Msg: string; AType: TMsgDigType;
AButtons: TMsgDigButtons; HelpCtx: Longint; X, Y: Integer): Word;
Здесь информация представлена в строке Msg и в пиктограмме, соответствующей типу диалога:
TMsgDigType = (mtWarning, mtError, mtlnformation, mtConfirmation, mtCustom) ;
В диалог можно включить любые кнопки из множества:
TMsgDIgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbignore, mbAll, mbHelp) ;
TMsgDigButtons = set of TMsgDIgBtn;
Для типовых случаев уже описаны подмножества кнопок:
mbYesNoCancel = [mbYes, mbNo, mbCancel];
mbOKCancel = [mbOK, mbCancel];
mbAbortRetryIgnore = [mbAbort, mbRetry, mbignore] ;
Параметр HelpCtx указывает контекст системы помощи, который будет активизирован в случае нажатия <F1>.
Как и в предыдущем случае, вторая функция отличается от первой возможностью явного задания координат верхнего левого угла диалога.
Функция
function InputBox(const ACaption, APrompt, ADefault: string): string;
есть вызов диалога с заголовком ACaption, в котором подсказка APrompt приглашает набрать в редактирующем элементе текст. Первоначально в него загружается текст ADefault. Функция возвращает строку, находившуюся в редактирующем элементе на момент закрытия диалога.
Функция
function InputQuery(const ACaption, APrompt: string;
var Value: string): Boolean;
выполняет аналогичные действия. Набранный текст будет содержаться в строке Value. Однако возвращает она булевское значение, в зависимости от того, нажал ли пользователь OK (<Enter>) или Cancel (<Esc>).
Наконец, если мало только получения ответа, и есть необходимость управлять диалогом во время его существования, воспользуйтесь функцией:
function CreateMessageDialog(const Msg: string; AType: TMsgDigType;
AButtons: TMsgDigButtons): TPorm;
Она конструирует и возвращает указатель на форму, идентичную MessageDig с соответствующими параметрами.
Внешний вид последней группы диалогов можно изменить, переустановив значения, определенные в модуле DIALOGS:
MsgDigButtonStyle: TButtonStyle = bsAutoDetect;
MsgDIgGlyphs: Boolean = True;