![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
![]()
попробуй по таймеру проверять координаты курсора мыши. Если координаты лежат например в прямоугольнике от Labe1.Left до Label1.Left+Label1.Width (это ширина) и от Labe1.Top до Label1.Top+Label1.Height (это высота), то значит курсор находится над объектом Labe1!!
|
![]() |
![]() |
![]() |
#12 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
![]()
Я это пробывал, конечно здорово, но сам посуди, это не рационально...
Программа конечно будет работать, но не лучшим образом. А если бы была большущая программа? Процессор занят был бы какимито пустяками, а не делом. (Нужна оптимизация)
Писано по д'Эльфийски
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 06.01.2008
Сообщений: 180
|
![]()
Задам вопрос проще: какое событие отменяет событие OnMouseMove?
|
![]() |
![]() |
![]() |
#14 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Виндовое сообщение CM_MOUSELEAVE, я же описал...
А таймер использовать - это ... (ну нет слов, окромя матерных) Цитата:
Последний раз редактировалось mihali4; 22.01.2008 в 21:08. |
|
![]() |
![]() |
![]() |
#15 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
![]()
А если бы не знал своего события, то как бы вышел из ситуации?
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
если уж извращаца, то для всех контролов формы пишем в OnMouseMove:
ActiveControl := TControl(Sender); в классе формы дописываем: Код:
ActiveControl := nil; ну и проверки ставить на nil ЗЫ. писал здесь, так что может где и ошибся |
![]() |
![]() |
![]() |
#17 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#18 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]() Цитата:
ЗЫ. я этим никогда не пользовался и никому не советую, но всеже это помойму несколько лучше, чем по таймеру определять ![]() |
|
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 04.11.2007
Сообщений: 64
|
![]()
мнение ламера:
делаем событие на тик таймера, при котором в переменную записывается глобальное положение курсора мыши, и сравнивается с предыдущим. if положение = предыдущему, то движение мыши завершено, else движение мыши продолжается... таймер поставить на 1 сек где-то и далее, если движение закончено, то выполнить какое угодно действие p.s. лично я так понял смысл вопроса... |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 04.11.2007
Сообщений: 64
|
![]()
вот,собственно,код:
Код:
процессор,естественно,нисколько не грузится Последний раз редактировалось Романнн; 22.01.2008 в 23:14. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Форма остаётся видимой при Visible=False | Viteef | Общие вопросы Delphi | 10 | 23.02.2015 08:07 |
Visible | [Smarik] | Помощь студентам | 2 | 28.03.2008 18:01 |
Panel1.Visible:=true | s-force | Компоненты Delphi | 7 | 30.08.2007 02:22 |