| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 от статусного окна, а потом если уж есть такая необходимость передать это сообщение в основное окно программы. |
| Автор: Earnest 25.9.2006, 08:13 |
| Хук вешай на мышиные события. |
| Автор: Logit 25.9.2006, 16:27 |
| Всем спасибо , я уже решил проблему )) |