PDA

View Full Version : سوال: سوال درمورد تابع getcapture



paria92
پنج شنبه 04 دی 1393, 23:59 عصر
سلام دوستان شبتون بخیر
کسی میتونه دوتا مثال خیلی ساده فقط محض اشنایی با روال کار دو تابع getclipcursor و getcapture بزنه؟
تابع getclipcursor برای این هست که محدودیت ها را بخونه و در یک متغیر بریزه میتونیین یه مثال ساده بزنین؟
از گت کپچر هم لطفا مثال بزنید.
با تشکر ازهمه دوستان

idehrayan
جمعه 05 دی 1393, 22:40 عصر
سلام
این مثال ور تو همین سایت پیدا کردم امیدوارم بدردت بخوره getcapture (http://barnamenevis.org/showthread.php?294225-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87-Panel-%D8%A8%D8%A7-%D9%82%D8%B1%D8%A7%D8%B1-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D9%85%D9%88%D8%B3-%D8%B1%D9%88%DB%8C-%D8%A2%D9%86&highlight=getcapture)


procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (X >= 0) and (Y >= 0) and (X < Panel1.Width) and (Y < Panel1.Height) then
begin
if GetCapture <> Panel1.Handle then
SetCapture(Panel1.Handle);
Panel1.Caption := 'IN';
end
else
begin
ReleaseCapture;
Panel1.Caption := 'OUT';
end;
end;




این کد رو هم از این سایت (http://http://delphi.about.com/cs/adptips2000/a/bltip0800_5.htm)


procedure TForm1.FormMouseMove
(Sender: TObject; Shift: TShiftState; X,Y: Integer) ;
begin
If GetCapture = 0 then
SetCapture(Form1.Handle) ;
if PtInRect(Rect(Form1.Left,
Form1.Top,
Form1.Left + Form1.Width,
Form1.Top + Form1.Height),
ClientToScreen(Point(x, y))) then
Form1.Caption := 'Mouse is over form' else
Form1.Caption := 'Mouse is outside of form';
end;