PDA

View Full Version : بدست آوردن موقعیت یک شی



Saeid59_m
شنبه 05 خرداد 1386, 10:22 صبح
سلام

همانطور که می دونید وقتی یه شی توی یک پانل یا فرم باشه خاصیتهای Left و Top اون نسبت به فرم یا پانل ست می شه .

حالا می خوام این دو خاصیت رو با توجه به کل صفحه مانیتور برای شی بدست بیارم .

ممنون

soroush_vs
شنبه 05 خرداد 1386, 11:38 صبح
باید با همون خاصیت از شی ء مادر جمعش کنی

MNosouhi
شنبه 05 خرداد 1386, 11:41 صبح
کافیه خاصیت left مربوط به شی و parentها رو با هم جمع کنی ، مثلا اگر میخای مقدار left واقی یک دکمه که در panel قرار گرفته رو حساب کنی باید خاصیت left مربوط به دکمه ، پنل و فرم رو با هم جمع کنی

Saeid59_m
شنبه 05 خرداد 1386, 13:57 عصر
با عرض پوزش خودم یه راه خوب پیدا کردم


Var
P:TPoint;
Begin
p:=Button1.ClientOrigin;
End;

saeid5977
شنبه 05 خرداد 1386, 15:43 عصر
از clientToScreen هم میشه استفاده کرد!

Saeid59_m
یک شنبه 06 خرداد 1386, 08:33 صبح
ClientToScreen زمانی که شی شما توی چند تا پانل باشه درست جواب نمی ده .

Arman_1367
یک شنبه 06 خرداد 1386, 10:12 صبح
ClientToScreen زمانی که شی شما توی چند تا پانل باشه درست جواب نمی ده .

این کد رو امتحان کد ببین فرقی نداره از کدوم استفاده کنی اگه خواستی 400000 پنل هم بذار.


procedure TForm1.Button1Click(Sender: TObject);
Var Pt1,Pt2:Tpoint;
begin
Pt1:=Button1.ClientToScreen(Point(0,0));
ShowMessage(inttostr(Pt1.X)+','+inttostr(pt1.Y));
Pt2:=Button1.ClientOrigin;
ShowMessage(inttostr(Pt2.X)+','+inttostr(pt2.Y));
end;