Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
ВнизКак поймать момент покидания курсором контрола? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c