Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 |

 

  Вопрос: События Добавлено: 25.06.04 15:45  

Автор вопроса:  freeloader  | Web-сайт: freeloader.folder-pro.net | ICQ: 50804884 
Как???
Как, например определить, что над кнопкой находиться мышь?

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #1 Добавлено: 25.06.04 15:54
command1_mousemove() - событие, которое возникает при движении мыши по поверхности кнопки

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 25.06.04 16:31
2Chill форум не тот :(

при создании контрола указывается callBack функция, принипающая все сообщения от контрола, вот в ней-то и следует фильтровать WM_MOUSEMOVE... как отфильтровываем, сразу же вызываем функцию/процедуру, отвечающую за нужное действие...

Ответить

Номер ответа: 3
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #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-сайт: basicproduction.nm.ru/
 Профиль | | #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-сайт: freeloader.folder-pro.net
 Профиль | | #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-сайт: freeloader.folder-pro.net
 Профиль | | #10
Добавлено: 29.06.04 08:58
Всем спасибо, почти сделал

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам