![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Showmessage()
Змей © (2004-10-26 02:15:00)Привет люди добрые
помогите как программно закрыть Showmessage()?????
TUser (2004-10-26 10:09:00) [1]Сегодня с утра работает вот такой код
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
showmessage('');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var h:thandle;
begin
h:=GetActiveWindow;
if h <> handle then begin
// Здесь вообще-то надо убедиться, что пойман
// именно хендел окна с сообщением
//
// Хотя бы GetWindowText почитать и проверить
h:=FindWindowEx(h,0,nil,nil);
if h <> 0 then begin
sendmessage(h,wm_lbuttondown,0,0);
sendmessage(h,wm_lbuttonup,0,0);
end;
end;
timer1.Enabled:=false;
end;
TUser (2004-10-26 09:58:00) [2]
> А если свой Showmessage написать?
Может 'нажать' кнопку OK SendMessage'ем - только handle узнать
Ega23 (2004-10-26 09:50:00) [3]А если свой Showmessage написать? Неужели это НАСТОЛЬКО сложно?
Alex_Petr (2004-10-26 09:08:00) [4]>canClose:=true;
>Showmesage(...);
>canClose:=false;
Можно подробнее ?
Где идет эта обработка ?
В основном потоке до "canClose:=false"
ты не дойдешь пока не обработается ShowMessage
Gloomer (2004-10-26 08:59:00) [5]canClose:=true;
Showmesage(...);
canClose:=false;
Alex_Petr (2004-10-26 08:55:00) [6]>а сразу после false?
После ShowMessage ?
Gloomer (2004-10-26 08:34:00) [7]А если ввести переменную canClose:boolean, поторой перед showmessage даем true, а сразу после false?
Тогда в TTimer.OnTimer >ша canClose then Screen.ActiveForm.Close
Alex_Petr (2004-10-26 04:26:00) [8]>ну например в TTimer.OnTimer >Screen.ActiveForm.Close
да, а если пользователь уже нажал OK,
то терминируем программу
jack128 (2004-10-26 04:14:00) [9]GuAV © (26.10.04 2:18) [1]
Только как ты до него доберёшься ?? разве что из другого потока :-)
ну например в TTimer.OnTimer Screen.ActiveForm.Close ;-)
GuAV (2004-10-26 02:18:00) [10]Методом Close. Только как ты до него доберёшься ?? разве что из другого потока :-)