PDA

View Full Version : به هم نریختن فرم با تغییر رزولوشن



Mask
یک شنبه 18 بهمن 1388, 14:09 عصر
با سلام
فرمی رو طراحی کردم که در کامپیوتر های مختلف اجرا میشه.
باید چیکاری انجام داد که فرم با تغییر رزولوشن به هم نریزه و به نسبت مقدار اولیه اشیای استفاده شده کوچک و بزرگ بشوند.
ممنون.

Pr0grammer
یک شنبه 18 بهمن 1388, 14:33 عصر
می تونید زمان اجرای برنامه resolution رو به اندازه دلخواهتون تغییر بدید! و زمان خروج دوباره به حالت اول در بیارید!
توی سایت جستجو کنید، چند موردی هست که حتما کارتون رو راه میندازه...

موفق باشید/

Mahmood_M
یک شنبه 18 بهمن 1388, 14:52 عصر
علاوه بر موردی که دوستمون گفتن ، می تونید یک اندازه ی استاندارد برای فرمتون در نظر بگیرید ، با توجه به اینکه کمترین اندازه استاندارد فعلی در حالت معمول 800 در 600 هست ، بهتره که فرم برنامه رو با همین اندازه یا کمتر بسازید و در موقع اجرا هم مثلا اون رو Maximize کنید ...
برای اینکه اجزای درون فرم به هم نریزن باید خاصیتهای Align و Anchors اونها رو دستکاری کنید ، کمی با این خاصیتها کار کنید تا تاثیرشون رو ببینید ...

موفق باشید ...

Mask
یک شنبه 18 بهمن 1388, 19:49 عصر
می تونید زمان اجرای برنامه resolution رو به اندازه دلخواهتون تغییر بدید! و زمان خروج دوباره به حالت اول در بیارید!
توی سایت جستجو کنید، چند موردی هست که حتما کارتون رو راه میندازه...

موفق باشید/

ممنون از دوستان.
این کار اصلا جالب نیست.
روس های دیگری باید اعمال بشه.

tdkhakpur
دوشنبه 19 بهمن 1388, 18:37 عصر
این کار اصلا جالب نیست.
روش های دیگری باید اعمال بشه
خوب میتوانید با کد نویسی اندازه کنترلها را به عنوان پارامتر داشته باشید و برابر تغییرات اصلاحشان کنید. ویا اینکه scroolbar فرمتان را فعال کنید.
به غیر از مواردی که دوستان هم ارائه دادند به احتمال بسیار زیاد راه دیگری وجود ندارد.

alinikaein
سه شنبه 20 بهمن 1388, 14:36 عصر
سلام دوست عزیز؛

کد زیر را استفاده کنید:

const
ScreenWidth = 1024; // I designed my form in 1024x768 mode.
ScreenHeight = 768;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Scaled := True;
if (Screen.Width <> ScreenWidth) then
begin
Height := Height * Screen.Height div ScreenHeight;
Width := Width * Screen.Width div ScreenWidth;
ScaleBy(Screen.Width, ScreenWidth);
end;
end;



یا علی... موفق باشید...

حسین خانی
چهارشنبه 21 بهمن 1388, 19:02 عصر
سلام دوست عزیز؛

کد زیر را استفاده کنید:

const
ScreenWidth = 1024; // I designed my form in 1024x768 mode.
ScreenHeight = 768;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Scaled := True;
if (Screen.Width <> ScreenWidth) then
begin
Height := Height * Screen.Height div ScreenHeight;
Width := Width * Screen.Width div ScreenWidth;
ScaleBy(Screen.Width, ScreenWidth);
end;
end;



یا علی... موفق باشید...

با سلام :لبخندساده:

این کد رو چطوری میشه به صورت عمومی استفاده کرد که همه فرم های پروژه رو شامل بشه ؟
نه به صورتیکه این کد را تو FormCreate هر فرم تکرار کرد !

ممنون ...

alinikaein
پنج شنبه 22 بهمن 1388, 14:39 عصر
تبديل‌ش كنيد به يك كامپوننت.

اگه نتونستيد اين كار را بكنيد، بگيد تا من سعي كنم :چشمک:. (البته به شرطي كه تلاش‌تون را كرده باشيد)

حسین خانی
پنج شنبه 22 بهمن 1388, 15:38 عصر
ممنون جناب alinikaein

من تلاش میکنم ! اما آیا این تنها راهشه ؟