Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Всплывающее окошко в системном трее


Автор: zhekha 20.8.2007, 13:04
Ну, собственно, охото такую же как у аськи напоминалку, или как у qip'a...
Сделал следующее: создал окно, расположенное около системного трея и натянул на него bmp'шку, но, вот, только проблема - в то время, когда окошко появляется, оно перехватывает фокус ввода, а в основной форме пользователь в это время может, например, набирать пароль... Результат: пароль набран неверно + недопонимание пользователя!
Можно ли как-нибудь сделать чтобы окно не перехватывала фокус ввода и в то же время появлялось на переднем плане? Или у аськи это сделано как-то иначе?

Автор: Andrey44 20.8.2007, 14:13
Делай его поверх всех окон smile  BOOL SetWindowPos( ........, HWND_TOPMOST, ........................, SWP_SHOWWINDOW)И
И не делай активным smile 

Автор: zhekha 21.8.2007, 05:38
Заменил
Cинтаксис WTL
Код

void A::Show() {
...
SetWindowPos(HWND_TOPMOST, x, y, windowWidth, windowHeight, SWP_SHOWWINDOW | SWP_NOSIZE);
ShowWindow(SW_SHOW);
...
}

на
Код

void A::Show() {
...
SetWindowPos(HWND_TOPMOST, x, y, windowWidth, windowHeight, SWP_SHOWWINDOW | SWP_NOSIZE);
ShowWindow(SW_SHOWNOACTIVATE);
...
}

Все получилось,
всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)