■ OnMouseOutみたいな処理

[Delphi Q & A 掲示板] [過去ログの一覧]


アル 2009/03/20(金) 19:07:36 <中級者>
JavascriptにあるOnMouseOutみたいな処理をさせたいと考えています。

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

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

よろしくお願いします。

Mr.XRAY 2009/03/20(金) 20:02:07
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 <中級者>
あれ? TButtonにMouseLeaveなんてイベントありましたっけ?

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

KHE00221 2009/03/20(金) 21:30:55 <初心者>
D7にはないので

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

して下さい

アル 2009/03/20(金) 22:45:16 <中級者>
[[解決]]

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

ありがとうございます。

Mr.XRAY 2009/03/20(金) 23:09:03
>使っているのがDelphi7だからないのかな……?

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

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library