Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизМастера подскажите как определить появилось информационное окно Найти похожие ветки
← →
Aleks © (2006-01-22 16:32) [0]Доброго времени суток, Мастера пожалуйста.
Есть программа которая при определённом событии выдаёт информационное окно, с одной кнопкой (ОК).
Как определить появилось информационное окно если да то нажать на кнопку.
← →
SergProger © (2006-01-23 02:41) [1]function MessageDlg(const Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word;
Отображает диалог типа DlgType с сообщением, указываемым параметром Msg, и с кнопками, указываемыми параметром Buttons. Параметр HrlpCtx определяет ID контекста справки.
Параметр DlgType может определять различные типы диалогов, содержащие следующие изображения: mtError, mtConfirmation, mtWarning, mtInformation, без изображения - mtCustom.
Параметр Buttons указывается множеством типа TMsgDlgDtn, которое определяет следующие кнопки: mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp, mbYesNoCancel, mbOKcancel, mbAbortRetryIgnore. Для того, чтобы указать несколько кнопок, следует использовать операцию + или перечислить их всех в квадратных скобках и через запятую. Например, mbOK+mbHelp или [mbOK,mbHelp].
Функция возвращает одно из следующих значений, определяющих выбранную пользователем кнопку: mrNone, mrAbort, mrYes, mrOK, mrRetry, mrNo, mrCancel, mrIgnore, mrAll.
Пример:
procedure TForm1.Button1Click(Sender: TObject);
begin
If MessageDlg("Завершить приложение?",mtConfirmation,[mbYes,mbNo],0) = mrYes then begin
MessageDlg("Приложение завершено.",mtInformation,[mbOK],0);
Form1.Close;
end;
end;
← →
Aleks © (2006-01-23 09:51) [2]Я извиняюсь, не верно задал свой вопрос.
Есть программа (например с именем INFO) которая при определённом событии выдаёт информационное окно, с одной кнопкой (ОК).
Необходимо написать другую программу которая бы отслеживала появление информационного окна в программе INFO, и при появление его нажимала кнопку на нём.
← →
msguns © (2006-01-23 11:29) [3]Видимо, речь идет о "заглатывании" некоторого сообщения, которое выдается "системой" ?
Код в программе, приводящий к появлению этого сообщения, надо поместить в блок try.. except. "Свое" сообщение выдавать в секции except с помощью того же ShowMessage либо "молча" игнорировать, не показывая никаких формочек.
← →
Leonid Troyanovsky © (2006-01-23 12:51) [4]
> Aleks © (23.01.06 09:51) [2]
> Необходимо написать другую программу которая бы отслеживала
> появление информационного окна в программе INFO, и при появление
> его нажимала кнопку на нём.
Например, если окно - диалог
http://groups.google.com/group/fido7.ru.delphi/msg/e574b451a522c210
--
Regards, LVT.
← →
msguns © (2006-01-23 13:08) [5]Леня, мне не совсем понятно, зачем нужно это мелькание непонятного окна.
Не лучше ли отловить причину его появления ?.
← →
Leonid Troyanovsky © (2006-01-23 13:18) [6]
> msguns © (23.01.06 13:08) [5]
> Леня, мне не совсем понятно, зачем нужно это мелькание непонятного
> окна.
WM_INITDIALOG приходит до показа. Т.е., при желании можно и
не показывать. Но, заказывали именно нажать.
> Не лучше ли отловить причину его появления ?.
Может быть, может быть.
--
Regards, LVT.
← →
msguns © (2006-01-23 13:47) [7]Прошу прощения, пропустил
"Необходимо написать другую программу которая бы.."
← →
Aleks © (2006-01-23 16:19) [8]Да совершенно верно ""другую программу""
Это две разные программы.
Одну из них и надо написать.
← →
msguns © (2006-01-23 16:23) [9]Очень подозрительное желание.
← →
Aleks © (2006-01-23 16:51) [10]Какое есть :), но не чего противозаконного))
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.043 c