マウスカーソルがフォーム上から外れたときに、
フォームを非表示にしたいです。
procedure TForm1.FormMouseLeave(Sender: TObject);
begin
Visible := False;
end;
とすることで、そのように動きます。
しかし、フォォーム上のボタンの上をマウスが通っただけでも、
FormMouseLeave が処理されてしまいます。
何か良い方法はないでしょうか。
よろしくお願いいたします。
(delphi XE5 starter)
もっと格好良い方法があるとは思いますが、単純な方法として...
procedure TForm1.FormMouseLeave(Sender: TObject);
var
P: TPoint;
begin
sleep(100); //これを入れないと反応しなかった・・・
GetCurSorPos(P);
if (Left > P.X) or (P.X > Left + Width) or (Top > P.Y) or (P.Y > Top + Height) then
Visible := False;
end;
deldelさん
十分格好いいです!
ありがとうございました。
ツイート | ![]() |