Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Получение хендла от окна пославшего сообщение?   Найти похожие ветки 

 
GelVit   (2006-06-28 11:42) [0]

Суть задачи в том,  хочу отлавить событие от определенного окна. В случае с SC_CLOSE работает как надо, В SC_MINIMIZE и SC_SIZE грабли...
Получение хендла осуществляю с помощью GetForegroundWindow
Сообственно код:

  HCBT_SYSCOMMAND: begin
     if (wParam = SC_CLOSE) then
      begin
        Wnd:=getforegroundwindow;
        RWinWnd:= FindWindow("Tdlg_Main", nil);
        if ((RWinWnd > 0) and (RWinWnd = Wnd))
          begin
           // все как нада....  RWinWnd = Wnd
          end;
      end;

     if wParam = SC_MINIMIZE then
       begin
         Wnd:=getforegroundwindow;
         RWinWnd:= FindWindow("Tdlg_Main", nil);
         if ((RWinWnd > 0) and (RWinWnd = Wnd)) then
            begin
               // сюда не попадаем тк RWinWnd <> Wnd
              //тоже самое с if wParam = SC_SIZE
            end;


 
Юрий Зотов ©   (2006-07-02 16:33) [1]

Не уверен, но попробуйте:

if wParam and $FFF0 = SC_xxx then ...


 
Ketmar ©   (2006-07-02 17:42) [2]

хм. не уверен, но (по-моему %-) сообщение о минимизации получает невидимое окно, которое считается главным окном приложения. а вовсе не форма.



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.063 c
15-1161867385
TIF
2006-10-26 16:56
2006.11.12
Про реестр


15-1161948526
alles
2006-10-27 15:28
2006.11.12
Почему без ping-a Windows не видет компютера?


1-1159471239
guav
2006-09-28 23:20
2006.11.12
Аналог GetTextExtentPoint32 / GetTextExtentExPoint / TCanvas.Text


15-1161780471
ocean
2006-10-25 16:47
2006.11.12
Разрезать видео


15-1161626515
Layner
2006-10-23 22:01
2006.11.12
А кто знает, как троллейбусы перекл. с ветки на ветку?