PDA

View Full Version : راهنمایی فرم بدون Border



DarkACE
جمعه 02 خرداد 1393, 11:48 صبح
سلام دوستان وقت به خیر، نیاز به کمک و راهنماییتون دارم.

تو طراحی برنامه هام تصمیم گرفتم از فرم های بدون Border استفاده کنم، مثل عکسی که ضمیمه کردم، برای این کار از Panel استفاده کردم، حالا سوال اینجاست چطوری می تونم با نگه داشتن کلیک روی Panel و کشیدن فرم به سمت های مختلف فرمم رو جا به جا کنم، دقیقا می خوام عمل درگ کردن فرم رو انجام بدم اما بدون Border.

ممنون.

یوسف زالی
جمعه 02 خرداد 1393, 11:55 صبح
سلام.
نیازی به این کار نیست.
خود فرم رو این مدلی کنید.


in TForm1 public section:
procedure CreateParams(var Params: TCreateParams); override;


.
.

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);

Params.Style := Params.Style or WS_SIZEBOX {WS_THICKFRAME};
end;

DarkACE
جمعه 02 خرداد 1393, 12:00 عصر
میشه راهنمایی کنید که این کد دقیقاً چه کاری رو انجام میده؟

ممنون.

DarkACE
جمعه 02 خرداد 1393, 12:05 عصر
آهان، ممنون بابت راهنمایی اما این دستور یه چیزی شبیه Border به فرمم اضافه میکنه، من فقط میخوام فرمم باشه بدون این Border و اینکه فقط جابه جا بشه، این دستور رو که اضافه کردم فقط فرم با درگ کردن بزرگ و کوچیک میشد

DarkACE
جمعه 02 خرداد 1393, 12:31 عصر
مشکلم حل شد.

این کد رو توی قسمت Mouse Down رخداد ها اضافه کردم.

const
sc_DragMove = $F012;
begin
ReleaseCapture;
Perform( wm_SysCommand, sc_DragMove, 0 );

SayeyeZohor
جمعه 02 خرداد 1393, 14:01 عصر
const
sc_DragMove = $F012;
begin
ReleaseCapture; Perform(wm_SysCommand, sc_DragMove, 0);