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

Вниз

как найти handle окна, потерявшего фокус   Найти похожие ветки 

 
Wild Sam   (2003-09-26 15:29) [0]

Здравствуйте! Вопрос таков: как получить handle окна, которое имело фокус до того, как мое окно получило фокус? Спасибо!


 
VMcL ©   (2003-09-26 15:37) [1]

см. сообщение WM_SETFOCUS


 
Игорь Шевченко ©   (2003-09-26 15:39) [2]

или WM_ACTIVATE


 
Wild Sam   (2003-09-26 16:11) [3]

Проблема вот в чем. WM_SETFOCUS мне не подходит... WM_ACTIVATE - подходит, но оно не дает хэндла предыдущего окна (в хелпе так и написано:"...hwndPrevious is the handle of the window being deactivated. This handle can be NULL. "
?????????????


 
Игорь Шевченко ©   (2003-09-26 16:16) [4]

О задаче подробнее, плз


 
clickmaker ©   (2003-09-26 16:20) [5]

А почему WM_SETFOCUS не подходит ?

WM_SETFOCUS
The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus.

WM_SETFOCUS
hwndLoseFocus = (HWND) wParam; // handle to window losing focus


 
Wild Sam   (2003-09-26 16:23) [6]

С удовольствием. Надо сделать окно, которое не отнимает фокус. Если еще подробнее, то в трее висит иконка моей программы. При клике на нее возникает Popup-menu (это не обязательное условие, можно показывать, например и специальную форму), при этом фокус перемещается к моей программе. При исчезновении popup"а фокус должен вернуться туда, где он был. Кроме того, handle окна, потерявшего фокус, нужен и для своих целей...
Спасибо за внимание.


 
Wild Sam   (2003-09-26 16:27) [7]

2 clickmaker. Не срабатывает...
Кроме того, есть подозрение, что в моем случае (см. описание задачи) предыдущим окном будет таск бар...


 
Игорь Шевченко ©   (2003-09-26 16:28) [8]

По клику смотреть GetForegroundWindow не помогает ?


 
Wild Sam   (2003-09-26 16:45) [9]

"По клику смотреть GetForegroundWindow не помогает ?" - возвращает хэндл таскбара...


 
Wild Sam   (2003-09-26 17:02) [10]

Я вот думаю на перемещение мыши над иконкой поставить запоминание текущего окна. Только что-то пока возвращается хэндл моего приложения... Ошибка где-то.


 
clickmaker ©   (2003-09-26 17:41) [11]

Проверил, GetForegorundWindow в ответ на WM_MOUSEMOVE над иконкой дает активное окно


 
Wild Sam   (2003-09-26 17:53) [12]

Блин, а у меня нет...Ну, не буду грешить на глюки компилера, поищу глупую ошибку у себя...



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
14-66127
Igor_thief
2003-10-25 15:18
2003.11.20
MDI


1-65931
Zheks
2003-11-11 11:15
2003.11.20
Диалог выбора дирректории


1-65949
GSVSerg
2003-11-10 18:24
2003.11.20
MDI форма


4-66171
alex25
2003-09-26 10:57
2003.11.20
CreateProcess


3-65794
_VaaL_
2003-10-30 13:59
2003.11.20
. Кодировки для баз