Про WM_MOUSEMOVE вопросик

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Про WM_MOUSEMOVE вопросик

Сообщение XairOn » 17.05.2006 (Ср) 15:48

Hi ALL !!! В моем окне (созданном на API) мне нужно отслеживать движение мыши, что бы узнавать какой контрол сейчас под курсором находится (если точнее хэндл этого контрола). Так вот моё окно обрабатывает WM_MOUSEMOVE только когда курсор перемещается по самому окну, а кнопки и листбоксы, почему-то в стороне остались, т.е. обработчик WM_MOUSEMOVE не срабатывает когда курсор над контролом. Подскажите что с эим делать? Или может быть есть другой способ, что бы узнать, что курсор наведён на какой-либо контрол или наоборот, что он его покинул!?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.05.2006 (Ср) 16:14

а) Сабклассинг каждого контрола
б) WM_COMMAND
Изображение

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 17.05.2006 (Ср) 16:48

А в WM_COMMAND что ловить?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.05.2006 (Ср) 18:34

MSDN теье в помощь. Хотя на счёт WM_COMMAND не уверен-он шлётся для DlgProc(если диалог вытащили из ресурса) и в wParam-ID контрола. Но у тебя CreateWindow(Ex) и скорее всего там этого нет(может быть шлётся hWnd сонтрола, не знаю, влом смотреть.)

З. Ы. Не мучайся ты с этим - VB-шные формы намного удобнее, поэтому на неём часто делают интерфейс.
Изображение

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 17.05.2006 (Ср) 19:28

keks-n
Он как-то говорил что пишет все это на С, так что пускай сабклассит каждый контрол :roll:
Если всё делать своими ручками, они скоро отвалятся !

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.05.2006 (Ср) 19:48

Да пусть хоть на C пишет, хоть на асме - интерфейс к проге сишной проге можно и на VB накатать.
А вообще, если сабклассингом-EnumChildWindows после создания всех контролов и встроить в цепочку обработчиков каждого проверку на нужное событие(т. е. SetWindowLong, во вставленном обработчике просмотр параметров и передача управления дальше по цепочке(адресок предварительно получи через GetWindowLong))
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 126

    TopList  
cron