Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

как найти 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
3-65776
rh
2003-10-31 08:00
2003.11.20
Выгрузить результаты запроса в Excel


1-65845
Zorlag
2003-11-09 22:58
2003.11.20
Грамотная задержка времени в Delphi


6-66032
dumb
2003-09-24 16:20
2003.11.20
Перехват данных


3-65801
Raduga
2003-10-29 16:41
2003.11.20
А как насчет MSDE?


6-66054
silver
2003-09-25 18:06
2003.11.20
OS удаленного компа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский