PDA

View Full Version : drag کردن فرم



afshincomputer
دوشنبه 05 خرداد 1382, 13:31 عصر
چطوری میشه یه فرم رو drag & drop کرد . یعنی از هر نقطه ای توی فرم بشه عمل drag رو
انجام داد

ممنون میشم اگه راهنمایی کنید

مهدی کرامتی
دوشنبه 05 خرداد 1382, 17:14 عصر
اگر منظورتان جابجا کردن (Move) خود فرم با استفاده از ماوس است بطریق زیر عمل کنید:

در قسمت implementation فرمتان یک متغییر از نوع TPoint تعریف کنید، مانند زیر:

implementation
var
MPos:TPoint;
سپس در event های OnMouseDown و OnMouseMove فرمتان کدهای زیر را اضافه کنید:

procedure TFORM1.FORMMouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MPos.X := X;
MPos.Y := Y;
end;

procedure TFORM1.FORMMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
begin
FORM1.Left := FORM1.Left - (MPos.X-X);
FORM1.Top := FORM1.Top - (MPos.Y-Y);
end;

_alish_
دوشنبه 12 مرداد 1383, 09:58 صبح
سلام
البته نمی دانم این موضوع کی فرستاده شده من دونبال حل مشکل خودم بودم که چشمم به این خورده گفتم بنویسم برای آینده

شماه می توانید در OnMouseDown فرم خود این کد را بنویسید


ReleaseCapture();
MainFrm.Perform(WM_SYSCOMMAND,$F012,0);