Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > пропорцианальное растягивание компонентов


Автор: Antiform 25.8.2008, 12:24
На форме 3 грида. У меня не получается сделать чтобы все три компонента расятягивались пропорцианально! Anchors я выставил так => у Grid1 все в true; у Grid2 все  в true кроме akTop; у Grid3 все в true кроме akLeft и akTop. Вот рисунок там понятней что нужно

Автор: Poseidon 25.8.2008, 12:40
Что-то вроди этого

Автор: Antiform 27.8.2008, 17:00
Спасибо! Помогло. Вот еще чтобы все колонки во всех гридах тоже растягивались вместе с ними? Вобще замечательно было бы!

Автор: pseud 27.8.2008, 17:16
Цитата(Antiform @  27.8.2008,  17:00 Найти цитируемый пост)
Вот еще чтобы все колонки во всех гридах тоже растягивались вместе с ними? Вобще замечательно было бы!

начнем с того, что ты не сообщил, какой грид?? TStringGrid - TDBGrid - ...
допустимо ли прдлагать тебе сторонние гриды или у тебя корпоративный стандарт...

Автор: Antiform 28.8.2008, 13:46
psued DBGrid

Автор: pseud 28.8.2008, 14:50
Просьба сильно не пинать, но ничего более умного по-быстрому в голову не пришло  smile 
Код

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    procedure FormResize(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    w0: Integer;
    w1: Integer;
    w2: Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormResize(Sender: TObject);
var
  iSum: Integer;
begin
  iSum := w0 + w1 + w2;

  DBGrid1.Columns[0].Width := Round(w0 * DBGrid1.Width / iSum) - 3;
  DBGrid1.Columns[1].Width := Round(w1 * DBGrid1.Width / iSum) - 3;
  DBGrid1.Columns[2].Width := Round(w2 * DBGrid1.Width / iSum) - 3;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  w0 := DBGrid1.Columns[0].Width;
  w1 := DBGrid1.Columns[1].Width;
  w2 := DBGrid1.Columns[2].Width;
end;

Автор: Poseidon 28.8.2008, 15:19
pseud, на первую вскидку скажу, что высоту забыл... smile

Автор: pseud 28.8.2008, 15:25
Цитата(Poseidon @  28.8.2008,  15:19 Найти цитируемый пост)
pseud, на первую вскидку скажу, что высоту забыл... 


Цитата(Antiform @  28.8.2008,  13:46 Найти цитируемый пост)
psued DBGrid


боюсь с высотой не стоит бороться (дабы лишней работы не делать) - думаю автору этого не требуется.

P.S. psued - это видимо тот, кто псу_ест


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)