Процедуры и функции, реализующие диалоги
Процедура 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');
Рис. 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|