![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение размеров панелей как в Total Commander [D7, WinXP]
Stive © (2005-11-22 23:37:00)Здравствуйте форумчане.
Вот уже несколько часов бьюсь над тем, чтобы сделать такую вещь.
При изменении размеров окна Total Commander'a обе панельки с файлами уменьшаются пропорционально. Как можно добиться того же эффекта в свой программе. Уже перепробовал все комбинации Align и Anchors... пока нужной не нашёл.
Как добиться нужного результата? Может кто сталкивался...
Спасибо!
Stive (2005-11-23 01:13:00) [1]Всё заработало по совету [1].
private
{ Private declarations }
FSpliterPercent: byte;
...
procedure TfmFTP.FormShow(Sender: TObject);
begin
FSpliterPercent := round(100 / Width * Splitter.Left);
Splitter.Hint := inttostr(FSpliterPercent) + '%';
end;
...
procedure TfmFTP.SplitterMoved(Sender: TObject);
begin
FSpliterPercent := round(100 / Width * Splitter.Left);
Splitter.Hint := inttostr(FSpliterPercent) + '%';
end;
...
procedure TfmFTP.FormResize(Sender: TObject);
begin
pnRemote.Width := round(Width / 100 * FSpliterPercent);
end;
Stive (2005-11-23 00:27:00) [2]
> Игорь Шевченко © (23.11.05 00:23) [1]
Так и поступлю. Просто бумал, может существует "автоматизированный" способ :-)
Игорь Шевченко (2005-11-23 00:23:00) [3]
> При изменении размеров окна
Возникает событие OnResize, в котором размеры окна уже новые. Пересчитать размеры дочерних контролов труда ведь не составит, верно ?