Как правильно юзать Over событие

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

Как правильно юзать Over событие

Сообщение VERITAS » 12.02.2005 (Сб) 11:38

Привет всем !:

Товарищи подскажите как определять когда я навел курсор на кнопку а когда его на ней нет, нужен более сложный способ (можно с GetCursorPos :)

У меня был когда-то пример от нашего соотечественника, там были нестандартные кнопки, с trancparent областями и они правильно реагировали на наведение и на отсутствие такового. Только вот теперь я его не могу найти.

Кстати с деактивированием на форме или других объектах не катит.. :
No comments ...

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 12.02.2005 (Сб) 11:41

У меня получалось такое сделать если только у объекта есть хвнд!
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 12.02.2005 (Сб) 11:51

Можно поподробнее.

Я вообще-то Юзер-Контрол пишу, так вот мне необходимо при наведении на него он сменял изображение (это работает), а вот как обратно его в deffault поставить при неактиве :?:
No comments ...

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 12.02.2005 (Сб) 11:53

Лучше юзай PictureBox или каким нибудь образом достань у CommnadButton'а HWND, тогда дам пример! :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 12.02.2005 (Сб) 11:54

Код: Выделить всё
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI                ' general use. Typically used for cursor location
    X As Long
    Y As Long
End Type


Private Sub Timer1_Timer()
Dim mousePt As POINTAPI
GetCursorPos mousePt
If WindowFromPoint(mousePt.X, mousePt.Y) = Form1.hWnd Then
Beep
End If
End Sub

:wink: [/quote]
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 12.02.2005 (Сб) 12:11

Реально работает.
Поставленная задача решена, однако:
1) Как обойти hwnd или как его создать для какого нибудь объекта.
2) Нельзя ли так, чтобы без таймера

Спасибо за помощь :!:
No comments ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.02.2005 (Сб) 13:22

Можно и без таймера: http://bbs.vbstreets.ru/viewtopic.php?t=11328
Изображение

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 12.02.2005 (Сб) 16:45

tyomitch прошелся по ссылкам, но конечный ответ не найти, так как там дальше ссылки битые.

Однако из постинга по ссылке уяснил, что нужно искать решение с WM_MOUSELEAVE и т.п. Буду искать тому решение.
No comments ...

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 12.02.2005 (Сб) 16:48

Попробовал создать два контрола: OptionBox и CheckBox

Посмотрите, что получилось. Оцените и укажите на ошибки и недостатки.

Еще я не знаю как сделать так, чтобы OptionBox связывались друг с другом (если находятся на одной форме или фрейме, только один из них становился true ??)
Вложения
Control_Ch_Opt.rar
CheckBox и OptionBox Alternative control (fixed color)
(34.77 Кб) Скачиваний: 23
No comments ...

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 12.02.2005 (Сб) 21:16

Если у тебя два фрейма, и ты именно на них рисуешь Option то все работает!
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.02.2005 (Сб) 23:20

VERITAS писал(а):Еще я не знаю как сделать так, чтобы OptionBox связывались друг с другом (если находятся на одной форме или фрейме, только один из них становился true ??)

Свойству Value задать тип OLE_OPTEXCLUSIVE
Изображение

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 13.02.2005 (Вс) 18:48

Спасибо !!!

tyomitch, _Мика_ - все получилось, теперь все работает. Огромное спасибо, наконец-то решил эту проблему. Да и теперь я хоть научился Кнтролы делать.
No comments ...


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 159

    TopList