View Full Version : سوال: maximize در فرم
  
pandco
پنج شنبه 11 مرداد 1397, 19:12 عصر
با درود و احترام
یه فرمی هستش که در داخلش چند تا editbox و dbgrid هستش چطوری میشه  وقتی کاربر روی maximize کلیک کرد و صفحه بزرگ شد editbox و dbgrid نیز هم  فونت ها و خودشون بزرگ بشن و دوباره روی maximize کلیک کرد به حالت اولیه  برگردن. خاصیتی باید تغییر بدم یا کد داره ؟ البته لطف میکنین کمکم کنید
با تشکر
یوسف زالی
شنبه 13 مرداد 1397, 13:21 عصر
سلام
اندازه فونت رو درست کنید، ببینید در حالت بزرگ چه اندازه ای مناسبه، در حالت کوچک چی، و نسبتش رو محاسبه کنید و در رویداد FormResize اونها رو ست کنید
pandco
یک شنبه 14 مرداد 1397, 19:57 عصر
با درود و احترام
کد زیر رو formresize نوشتم اما کار نمیکنه یعنی وقتی بزرگ میکنم شرط اولی اجرا میشه و وقتی کوچک میکنم شرط دومی اجرا میشه 
procedure TForm1.FormResize(Sender: TObject);
begin
  if (WindowState=wsNormal) then
  begin
    Edit1.Top:=18;
    Edit2.Top:=50;
    end;
  if (WindowState=wsMaximized) then
  begin
    Edit1.Top:=25;
    Edit2.Top:=70;
  end;
end;
اگه امکانش باشه لطفا یه نمونه کد بزارین.
با تشکر از توجهتان
یوسف زالی
دوشنبه 15 مرداد 1397, 00:56 صبح
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    BaseHeight: integer;
    BaseFontSize: integer;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  BaseHeight := Height;
  BaseFontSize := Label1.Font.SIZE;
end;
procedure TForm1.FormResize(Sender: TObject);
var
  Ratio: real;
begin
  Ratio := Height / BaseHeight;
  Label1.Font.SIZE := Round(BaseFontSize * Ratio);
end;
end.
pandco
سه شنبه 16 مرداد 1397, 20:26 عصر
ممنون از کمکتون
تو دکمه ها و دیبی گرید چطوری میتونم خود دیبی گرید و دکمه ها رو نیز بزرگ کنم با کد بالایی تست کردم فونت ها بزرگ شدن اما دکمه ها سایزشون بزرگ نشدن . البته لطف میفرمایید کمک میکنید
با تشکر
یوسف زالی
چهارشنبه 17 مرداد 1397, 18:40 عصر
برای بزرگ کردن کنترل ها باید از روش دیگری مثل anchor یا align استفاده کنید.
استفاده از روش بالا برای بزرگ کردن کنترل ها سخت و مستلزم دقت زیاد است.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.