![]() |
|
|
![]()
|
|
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Наверное, уже я порядком надоел своими вопросами, но уж простите меня
а если нужно сделать тоже самое (четыре функции для четырех кнопок), но для события WM_MOUSEMOVE? Сам ничего не нашел |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
все просто!
Берешь создаешь свою кнопку, те создаешь класс наследуя от CButton
Это сообщение отредактировал(а) chaos - 26.1.2006, 13:51 |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Я, наверное, не так объяснил. Есть 2 кнопки, я хочу, чтобы они по разному реагировали на событие OnMouseMove. Т.е. при подведении мышки на одну кнопку выводилось сообщения типа "MouseMove для первой кнопки", при подведении на другую "MouseMove для второй кнопки",
|
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
Из вышеприведенного chaos класса в обработчике события MOUSEMOVE можно послать пользовательское сообщение родителю, в котором передавать информацию о конретном экземпляре кнопки. Например, ее ID.
-------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: нет Всего: 3 |
xTr1m Если после создания каждой кнопки вызвать
::SetWindowLong(кнопка.GetSafeHwnd(),GWL_USERDATA, номер кнопки); то в OnMove можно: DWORD номер кнопки = ::GetWindowLong(кнопка.GetSafeHwnd(),GWL_USERDATA); PS.: Читайте Мешков, Тихомиров. Без ентой кники - пипец(без знания англицкого точно) -------------------- я не гольфист - я хоккеист |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
А вот я тут прочитал, что есть такая фукнция как GetCurrentMessage. Попытался применить ее для своей проблемы, но ничего не получается Почему?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Потому что сообщение MOUSEMOVE приходит не диалогу, а кнопке.
Если хочешь обрабатывать в диалоге, перекрой PreTranslateMessage. Но тот факт, что мышь находится над кнопкой, лучше проверять явно (ChildWindowFromPoint, например), а не сравнением hwnd. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |