|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.01.2008, 22:04 | #11 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
попробуй по таймеру проверять координаты курсора мыши. Если координаты лежат например в прямоугольнике от Labe1.Left до Label1.Left+Label1.Width (это ширина) и от Labe1.Top до Label1.Top+Label1.Height (это высота), то значит курсор находится над объектом Labe1!!
|
21.01.2008, 23:14 | #12 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Я это пробывал, конечно здорово, но сам посуди, это не рационально...
Программа конечно будет работать, но не лучшим образом. А если бы была большущая программа? Процессор занят был бы какимито пустяками, а не делом. (Нужна оптимизация)
Писано по д'Эльфийски
|
22.01.2008, 19:07 | #13 |
Форумчанин
Регистрация: 06.01.2008
Сообщений: 180
|
Задам вопрос проще: какое событие отменяет событие OnMouseMove?
|
22.01.2008, 20:22 | #14 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Виндовое сообщение CM_MOUSELEAVE, я же описал...
А таймер использовать - это ... (ну нет слов, окромя матерных) Цитата:
Последний раз редактировалось mihali4; 22.01.2008 в 21:08. |
|
22.01.2008, 21:00 | #15 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
А если бы не знал своего события, то как бы вышел из ситуации?
|
22.01.2008, 21:52 | #16 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
если уж извращаца, то для всех контролов формы пишем в OnMouseMove:
ActiveControl := TControl(Sender); в классе формы дописываем: Код:
ActiveControl := nil; ну и проверки ставить на nil ЗЫ. писал здесь, так что может где и ошибся |
22.01.2008, 22:11 | #17 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
22.01.2008, 22:16 | #18 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Цитата:
ЗЫ. я этим никогда не пользовался и никому не советую, но всеже это помойму несколько лучше, чем по таймеру определять |
|
22.01.2008, 22:41 | #19 |
Пользователь
Регистрация: 04.11.2007
Сообщений: 64
|
мнение ламера:
делаем событие на тик таймера, при котором в переменную записывается глобальное положение курсора мыши, и сравнивается с предыдущим. if положение = предыдущему, то движение мыши завершено, else движение мыши продолжается... таймер поставить на 1 сек где-то и далее, если движение закончено, то выполнить какое угодно действие p.s. лично я так понял смысл вопроса... |
22.01.2008, 23:10 | #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 |