Страница: 1 |
Страница: 1 |
Вопрос: События
Добавлено: 25.06.04 15:45
Автор вопроса: freeloader | Web-сайт:
Как???
Как, например определить, что над кнопкой находиться мышь?
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #1
Добавлено: 25.06.04 15:54
command1_mousemove() - событие, которое возникает при движении мыши по поверхности кнопки
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 25.06.04 16:31
2Chill форум не тот
при создании контрола указывается callBack функция, принипающая все сообщения от контрола, вот в ней-то и следует фильтровать WM_MOUSEMOVE... как отфильтровываем, сразу же вызываем функцию/процедуру, отвечающую за нужное действие...
Номер ответа: 3
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #3
Добавлено: 25.06.04 16:38
CallBack функция тебе нужна. Она в принципе и VB + API довольно распространена.
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 26.06.04 16:04
Если стандартная кнопка, то WM_MOUSEMOVE ей в callback не посылается. Вот все доступные сообщения:
%BN_CLICKED, %BN_DISABLE, %BN_KILLFOCUS, %BN_SETFOCUS. И всё.
Для этого есть API - ф-ция TrackMouseEvent. Она посылает в твой callback сообщения WM_MOUSELEAVE и WM_MOUSEHOVER. Ей нужно передать при вызове заполненную структуру, вернее адрес структуры TRACKMOUSEEVENTTYPE.
Номер ответа: 5
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #5
Добавлено: 26.06.04 22:56
http://rsdn.ru/article/qna/ui/mouseout.xml
вот тут про то, о чем говорил cresta, только примеры на си... но там АПИ, т.ч., думаю, разберешься...
Номер ответа: 6
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #6
Добавлено: 27.06.04 00:06
Можно попробовать не в PB-шном, а в системном CallBack ловить WM_MOUSEMOVE.
Как на VB. Через SetWindowLong GWL_WNDPROC и CallWindowProc.
Чтобы получить hWnd кнопки используй Control Handle.
Номер ответа: 7
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #7
Добавлено: 27.06.04 09:05
Я делал на VB такое. Если хочешь кину на мыло использование TrackMouseEvent.
Номер ответа: 8
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #8
Добавлено: 27.06.04 16:36
2cresta
кидай если не затруднит!
then@mail.ru
Номер ответа: 9
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #9
Добавлено: 27.06.04 18:39
Кидаю
Номер ответа: 10
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #10
Добавлено: 29.06.04 08:58
Всем спасибо, почти сделал