Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Процедуры и функции, реализующие диалоги




Процедура ShowMessage, функции MessageDlg и MessageDlgPos отображают окно (панель) вывода сообщений, а функции InputBox и InputQuery – окно (панель) для ввода информации.

Процедура ShowMessage (const Text: string) – отображает простое диалоговое окно с кнопкой ОК, содержащее заданную строку Text.

Она используется, чтобы сообщить пользователю какую-либо информацию - без необходимости пользователю принимать решение. Для показа многострочного сообщения вставляются символы возврата каретки и переноса строки (#13#10) в переменную Text.

ShowMessage('Это простое информационное окно!'); – показ простого сообщения;

ShowMessage(''); – показ пустого сообщения

ShowMessage('Это простое информационное окно!'+#13#10+'Нажмите OK'); – Разделение их на две строки

На рис. 7 приведены примеры таких окон.

 

 

Рис. 7.

Функция MessageDlg отображает сообщение, знак и выбираемые кнопки. Эти сообщения могут быть информационными, предупреждающими или другими. Даётся полный свободный выбор кнопок, которые пользователь может нажать, чтобы подтвердить диалог. Описывается следующим образом:

function MessageDlg (const Message: string; DialogType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpContext: Longint): Integer;

Значение DialogType может иметь одно из следующих перечисленных значений:

mtWarning - отображает символ восклицания

mtError - отображает красный "Х"

mtInformation - отображает "i" в круге

mtConfirmation - отображает знак вопроса

mtCustom - отображает только сообщение

Значение Buttons может быть одним из следующих перечисленных значений:

mbYes - Отображает кнопку "Yes"

mbNo - Отображает кнопку "No"

mbOK - Отображает кнопку "OK"

mbCancel - Отображает кнопку "Cancel"

mbAbort - Отображает кнопку "Abort"

mbRetry - Отображает кнопку "Retry"

mbIgnore - Отображает кнопку "Ignore"

mbAll - Отображает кнопку "All"

mbNoToAll - Отображает кнопку "No to all"

mbYesToAll - Отображает кнопку "Yes to all"

mbHelp - Отображает кнопку "Help"

Delphi обеспечивает множество предопределенных комбинаций кнопок:

mbYesNoCancel = [mbYes, mbNO, mbCancel]

mbYesAllNoAllCancel = [mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel]

mbOKCancel = [mbOK, mbCancel]

mbAbortRetryCancel = [mbAbort, mbRetry, mbCancel]

Например, отображение диалога с подстверждением выполняется следующим образом. На рис. 8 показано диалоговое окно с выбором из двух кнопок Ok и Cancel, и информационное окно с результатами выбора пользователя.

Var

buttonSelected: Integer;

Begin

buttonSelected:= MessageDlg('Внимание! Выберите действие', mtError, mbOKCancel, 0);

if buttonSelected = mrOK then ShowMessage('Была нажата OK');

if buttonSelected = mrCancel then ShowMessage('Была нажата Cancel');
end;

 

 

Рис. 8.

 

Функция InputQuery отображает простое диалоговое окно с данным Заголовком (Caption) и Подсказкой (Prompt). Оно запрашивает у пользователя ввод данных в текстовом поле на диалоговом окне. Если пользователь нажал OK, то введенные данные сохраняются в переменную UserValue, и возвращаемое значение будет True. Если пользователь отменяет диалог, то возвращаемое значение будет False, и любые введенные данные будут потеряны.

function InputQuery (const Caption, Prompt: string; var UserValue: string): Boolean;

Например, для запроса имени пользователя используется следующий код, а диалоговые окна представлены на рис. 9.

Var

value: string;

begin

repeat

if not InputQuery('Тестовый пример', 'Пожалуйста, укажите своё имя', value)

then ShowMessage('Диалог прерван!');

until value <> '';

ShowMessage('Здравствуйте, '+value+'!');

end;

 

 

Рис. 9.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...