Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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. Только как ты до него доберёшься ?? разве что из другого потока :-)


Наверх

Титульная страница Поиск, карта сайта Написать письмо