![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Позиции мыши. [D7, XP]
Весь в делах © (2006-09-23 18:26:00)Как определить находится ли указатель мыши на форме или нет?
Пробовал так:
protected
Procedure WndProc(var Message : TMessage); override;
procedure TForm1.WndProc(var Message: TMessage);
begin
inherited;
case Message.Msg of
CM_MOUSEENTER : DoCollapse();
CM_MOUSELEAVE : DoExpand();
end;
end;
Но работает не совсем корректно. Не всегда замечает мышь на форме. Точнее на нее практически не реагирует.
Весь в делах (2006-09-23 20:58:00) [1]
> default ©
Спасибо за помощь, последую твоему совету.
default (2006-09-23 20:16:00) [2]Весь в делах (23.09.06 19:58) [6]
кстати метод с меткой позволит избавиться от несрабатывания рассматриваемых событий из-за быстрых перемешений укащателя мыши путём задания такого расстаяния границ области метки от границ формы которое даст срабатывание события всегда(ну или почти всегда)
Весь в делах (2006-09-23 19:58:00) [3]Думая стоит попробовать добавить методы OnMouseEnter, OnMouseLeave в форму.
default (2006-09-23 19:46:00) [4]Весь в делах (23.09.06 19:39) [4]
события срабатывают когда мышка заходит и сходит с текста лейбела
именно текста
но мы и этот баг пофиксим:)
делаем размер шрифта большим, а в свойство Caption вводим пробелы:)
всё работает проверил:)
Весь в делах (2006-09-23 19:39:00) [5]
> default ©
Так и сделаю :)))))
default (2006-09-23 19:37:00) [6]только громко не смейтесь!
у TLabel есть события OnMouseEnter и OnMouseLeave
можешь натянуть TLabel на форму:):):)
Eraser (2006-09-23 19:32:00) [7]> [1] default © (23.09.06 19:30)
в BDS2006 сделали.
> [0] Весь в делах (23.09.06 18:26)
> Как определить находится ли указатель мыши на форме или
> нет?
WindowFromPoint ?
default (2006-09-23 19:30:00) [8]пинайте разработчиков Delphi что они не добавили событий OnMouseEnter и OnMouseLeave и Вам приходится заниматься всякой ерундой