OnMouseOutみたいな処理

解決


アル  2009-03-20 19:07:36  No: 33734  IP: 192.*.*.*

JavascriptにあるOnMouseOutみたいな処理をさせたいと考えています。

具体的に言うと、
フォームの上のTButtonやTImageにマウスがあるときに、
そのコントロール外へマウスを動かした時に
イベントを受け取りたいわけです。

できれば、フォームに何か仕込むのでなく、
コントロール側で何とかしたいのですが、
いい方法はありませんか。

よろしくお願いします。

編集 削除
Mr.XRAY  2009-03-20 20:02:07  No: 33735  IP: 192.*.*.*

Mr.XARYです.

OnMouseEnter
OnMouseLeave

イベントではタイミングが合いませんか?

procedure TForm3.Button1MouseEnter(Sender: TObject);
begin
    Panel1.Caption := '入ったよ!!';
end;

procedure TForm3.Button1MouseLeave(Sender: TObject);
begin
    Panel1.Caption := '出たよ!!';
end;

編集 削除
アル  2009-03-20 20:23:10  No: 33736  IP: 192.*.*.*

あれ?  TButtonにMouseLeaveなんてイベントありましたっけ?

使っているのがDelphi7だからないのかな……?

編集 削除
KHE00221  2009-03-20 21:30:55  No: 33737  IP: 192.*.*.*

D7にはないので

 procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;

して下さい

編集 削除
アル  2009-03-20 22:45:16  No: 33738  IP: 192.*.*.*

なるほど、CM_MOUSELEAVEでトラップすればいいわけですね。

ありがとうございます。

編集 削除
Mr.XRAY  2009-03-20 23:09:03  No: 33739  IP: 192.*.*.*

>使っているのがDelphi7だからないのかな……?

Delphi7でしたか.よく確認もせず,大変失礼致しました  m(_  _)m
たまたまDelphi2007を起動していた時でしたので.

編集 削除