PDA

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



paria92
پنج شنبه 04 دی 1393, 01:35 صبح
دوستان عزیز حاضر در فروم لطفا همکاری بفرمایید مانند همیشه
این کد رو نوشتم برای اینکه ماوس رو با این نقاطی که دادم محدودکنم واین پیغام خطایی هست که میده.
قطعه کد:


var
t:PRect;
begin
t.Top:=20;
t.Left:=30;
t.Right:=50;
t.Bottom:=90;
ClipCursor(t);
end;
end.


پیغام خطا:
[Warning] Unit1.pas(30): Variable 't' might not have been initialized
دوستان اگه در این مورد به جواب رسیدین یک مثال ساده به همین صورت برای getcgetcaptureنیز میزنید لطفا؟فقط محض اشنایی با روال کار

arash_ebrahimi_nk
پنج شنبه 04 دی 1393, 07:11 صبح
متغیر رو از نوع TRect در نظر بگیر و یه @ داخل پارامتر ClipCursor اضافه کن ClipCursor(@t)

paria92
پنج شنبه 04 دی 1393, 23:53 عصر
دوست عزیز من با این تابع میخام کاری کنم که ماوس فقط در همین نواحی که مختصات دادم حرکت کنه در واقع میخام خارج از این محدوده رو قفل کنه ولی با این کدهایی که من نوشتم فقط با فشار کلید ران اشاره گر ماوس به بالای صفحه منتقل میشه در واقع کدی که من نوشتم کار تابع setcursorpos رو انجام میده.فکر میکنم ایراد کدهای من اینه که در مختصاتی که از نوعtrect دادم از inttostr استفاده نکردم ولی نمیدونم چه جوری باید ازش استفاده کنم
ممنون میشم راهنمایی کنید.

Mask
جمعه 05 دی 1393, 00:54 صبح
کار زیاد سختی نیست.


var Po: TPoint;
a: TRect;
begin
a := ClientRect;
with a do
begin
Po := ClientToScreen(Point(Left, Top));
Left := Po.X;
Top := Po.Y;
Po := ClientToScreen(Point(Right, Bottom));
Right := Po.X;
Bottom := Po.Y;
end;
ClipCursor(@a);
end;