ورود

View Full Version : سوال: تشخیص خروج ماوس از روی کنترل



mbshareat
سه شنبه 31 خرداد 1401, 07:02 صبح
سلام علیکم
در بخش نکات برنامه نویسی دلفی یه کد دیدم که با استفاده از چیزی مثل:
procedure CMMouseLeave(var AMsg: TMessage); message CM_MOUSELeave;
کار می کرد که نتونستم فرقش رو با استفاده کردن از رویداد OnEnter,OnExit بفهمم که ربطی به ماوس ندارند و فقط مساله فوکوس رو بررسی می کنند.
من میخوام بدون تایمر بفهمم که آیا ماوس هنوز روی Image هست یا نه؟

mbshareat
سه شنبه 31 خرداد 1401, 07:11 صبح
فکر می کردم چنین کدی کار می کنه ولی کار نکرد:

TMouseLeave=Class(TButton)

Private
procedure MouseLeave(var Message: TMessage); message CM_MouseLeave;
End;
var
Form1: TForm1;
Button1:TMouseLeave;


implementation

{$R *.dfm}

procedure TMouseLeave.MouseLeave(var Message: TMessage);
begin
Windows.Beep(123,200);
ShowMessage('12');
end;

دلفــي
یک شنبه 24 مهر 1401, 15:27 عصر
سلام علیکم
در بخش نکات برنامه نویسی دلفی یه کد دیدم که با استفاده از چیزی مثل:
procedure CMMouseLeave(var AMsg: TMessage); message CM_MOUSELeave;
کار می کرد که نتونستم فرقش رو با استفاده کردن از رویداد OnEnter,OnExit بفهمم که ربطی به ماوس ندارند و فقط مساله فوکوس رو بررسی می کنند.
من میخوام بدون تایمر بفهمم که آیا ماوس هنوز روی Image هست یا نه؟


procedure TForm1.Image1MouseEnter(Sender: TObject);
begin
ShowMessage('Mouse Entered'); // Image ورود اشاره گر روی
end;


procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
ShowMessage('Mouse Leaved'); // Image خروج اشاره گر از روی
end;