Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.04;
Скачать: CL | DM;

Вниз

Как поймать момент покидания курсором контрола?   Найти похожие ветки 

 
asdf2   (2008-04-08 14:45) [0]

Сабж.


 
Сергей М. ©   (2008-04-08 14:47) [1]

OnMouseLeave ?


 
asdf2   (2008-04-08 14:48) [2]


> Сергей М. ©   (08.04.08 14:47) [1]

угу, это и хочу сделать, тока в D7


 
Семеныч   (2008-04-08 14:55) [3]

Обработайте сообщение CM_MOUSELEAVE


 
DVM ©   (2008-04-08 14:55) [4]

unit FPanel;

interface

uses
 SysUtils, Classes, Controls, ExtCtrls, Messages;

type
 TFPanel = class(TPanel)
 private
   FOnMouseEnter, FOnMouseLeave, FOnPaint: TNotifyEvent;
   procedure CMMouseEnter(var msg:TMessage); message CM_MOUSEENTER;
   procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
 protected
    procedure Paint; override;
 public
   property Canvas;
 published
   property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
   property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
   property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
 end;

procedure Register;

implementation
                     
procedure Register;
begin
 RegisterComponents("MyComponent", [TFPanel]);
end;

{ TFPanel }

procedure TFPanel.CMMouseEnter(var msg: TMessage);
begin
 inherited;
 if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TFPanel.CMMouseLeave(var msg: TMessage);
begin
 inherited;
 if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
procedure TFPanel.Paint;
begin
 inherited;
 if Assigned(FOnPaint) then FOnPaint(Self);
end;

end.


 
antonn ©   (2008-04-08 14:56) [5]

значит надо в WndProc() нужного окна поймать CM_MOUSELEAVE


 
Семеныч   (2008-04-08 15:02) [6]

> DVM ©   (08.04.08 14:55) [4]

При профессиональной разработке компонентов, создавая событие, обычно вводят метод его диспечеризации.


 
DVM ©   (2008-04-08 15:03) [7]

Только способ CM_MOUSELEAVE не очень надежен. Бывает (редко), что мышь уже не над контролом, а сообщение не пришло. Если это очень критично, то не помешает еще и таймер.


 
DVM ©   (2008-04-08 15:05) [8]


> При профессиональной разработке компонентов

А кто говорил про профессиональную разработку компонентов?

Этот кусок с форума http://forum.vingrad.ru/forum/topic-181327.html.
А DoMouseEnter, DoMouseLeave автор я думаю догадается.


 
asdf2   (2008-04-08 15:12) [9]


> DVM ©   (08.04.08 15:05) [8]

догадаюсь
спасибо


 
Leonid Troyanovsky ©   (2008-04-08 15:35) [10]


> asdf2   (08.04.08 14:45)  

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/81212d9cecc96ee4

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2008.05.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.006 c
15-1205931726
@!!ex
2008-03-19 16:02
2008.05.04
Аналог property в C++


15-1205948943
Express
2008-03-19 20:49
2008.05.04
Компонент для Клавиатурного тренажерa


15-1206107308
Поп Гапон
2008-03-21 16:48
2008.05.04
GDI+ и Delphi


15-1206101436
vajo
2008-03-21 15:10
2008.05.04
как удалить Висту с компьютера?


2-1206987505
dizZy
2008-03-31 22:18
2008.05.04
ячейка в таблице





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский