Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Status Window


Автор: Logit 23.9.2006, 20:13
Народ помогите разобраться с одним дельцем. Например я создаю какое нибудь status окно ну скажем в центре своего окна. В случае если я щелкну мышью в области статус окна должен воспроизводится какой нибудь звук, в случае если я шелкну за пределами статус окна звук не должен воспроизводится. Конечно я могу это сделать в WM_LBUTTONDOWN сообщении моего основного окна , сосчитать координаты и если они будут в области моего статусного окна воспроизвести звук. Но я вот хочу узнать нельзя ли сделать как нибудь по другому, так что я обробатывал щелчки мыши не в WM_LBUTTONDOWN процедуры основного окна, а в процедуре моего статусного окна без всяких так посчетов координат. 
Если я в стиле своего статус окна задам SS_NOTIFY и буду обрабатывать STN_CLICKED , то такой вариант пройдет ?
Буду очень благодарен если вы мне подскажите более интересные и эффективные варианты!

Автор: GremlinProg 23.9.2006, 20:25
Чтобы сообщения мыши приходили в твое окно даже если мышь за его пределами захватывай мышиный фокус с помощью функции SetCapture. Когда такой механизм больше не нужен, верни обычное управление функцией ReleaseCapture.

Автор: Logit 23.9.2006, 21:42
Да но при захвате мыши сообщения будут поступать только в статусное окно , а мне так не нужно

Автор: Friackazoid 24.9.2006, 08:50
Не совсем понимаю...

Почему не сделать обработку сообщений WM_LBUTTONDOWN от статусного окна, а потом если уж есть такая необходимость передать это сообщение в основное окно программы.  smile 

Автор: Earnest 25.9.2006, 08:13
Хук вешай на мышиные события.

Автор: Logit 25.9.2006, 16:27
Всем спасибо , я уже решил проблему ))

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