Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функции(MouseOut, MouseIn) как реализовать? аналогично событиям в кнопке под XP 
V
    Опции темы
Jr13san
Дата 22.3.2010, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Привет всем, кто на форуме...
Вот не могу никак додуматься или сделать такую вещь:
Все наверное видели кнопку по винд. XP. И при наведении курсора на кнопку, она подсвечивается в оранжевый цвет. Такое можно попробовать реализовать на стандартном контроле с помощью MouseMove, но при резком "слёте" курсора с контрола окраска не снимется, т.к. событие MouseMove не успеет сработать. Как же быть? отслеживать координаты курсора с помощью API? Впринципе можно, но как узнать координаты контрола от x1 до x2 y1 до y2, точнее местоположение? У контрола нет свойств ни Left ни Top(при разработке, а не при размещении).
Кто знает как реализовать, пишите пожалуйста...
PM MAIL WWW ICQ   Вверх
Jr13san
Дата 22.3.2010, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Мда... нашёл один примерчик, но много непонятного...
Код

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
 
Public Event MouseOver()
Public Event MouseOut()
 
Dim CtrMov As Boolean
 
Private Sub Timer1_Timer()
Text1.Text = CtrMov
End Sub

Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
With UserControl
If (X < 0) Or (Y < 0) Or (X > .Width) Or (Y > .Height) Then
        ReleaseCapture
        CtrMov = False
        RaiseEvent MouseOut
Else
        If CtrMov = False Then
        SetCapture .hwnd
        CtrMov = True
               RaiseEvent MouseOver
        End If
End If
End With
End Sub


Я никак не пойму что делают эти 2 API ф-ции. Кто разберётся, подскажите пожалуйста.
PM MAIL WWW ICQ   Вверх
Jr13san
Дата 23.3.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Я не хочу писать того, чего не понимаю...
PM MAIL WWW ICQ   Вверх
Jr13san
Дата 25.3.2010, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Кому надо, вот(разобрался):

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  MouseOver.rar 2,25 Kb
PM MAIL WWW ICQ   Вверх
Jr13san
Дата 25.3.2010, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 29.7.2008
Где: г. Павлово

Репутация: нет
Всего: нет



Так и быть, выложу усовершенствованный пример... Но всё равно рано или поздно этот топик удалят...

Это сообщение отредактировал(а) Jr13san - 28.3.2010, 08:52

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  MouseOut_In_.rar 2,34 Kb
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.