Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Panel не изменяет размеры   Найти похожие ветки 

 
European   (2004-04-30 18:02) [0]

Добрый день, уважаемые! Вопрос следующий: при создании форма создаётся максимизированной. После минимизации Panel2 не изменяет размеры и закрывает собой StatusBar. Подскажите где я туплю. Заранее благодарен.

unit Unit1;
interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, RXSplit;

type
 TForm1 = class(TForm)
   Panel1: TPanel;
   Panel2: TPanel;
   StatusBar1: TStatusBar;
   RxSplitter1: TRxSplitter;
   procedure FormCreate(Sender: TObject);
   procedure FormResize(Sender: TObject);
 private
 public
 end;

var
 Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Panel1.Align:=alTop;
 RxSplitter1.Align:=alTop;
 Panel2.Align:=alClient;
 Form1.WindowState:=wsMaximized;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
 Panel1.Height:=(Form1.ClientHeight-StatusBar1.Height-RxSplitter1.Height) shr 1;
 ShowMessage("Panel1.Height="+IntToStr(Panel1.Height)+#10#13+
   "Panel2.Height="+IntToStr(Panel2.Height));
end;

end.


 
European   (2004-04-30 18:21) [1]

По-моему решение лежит на поверхности, но что-то я его не вижу :(


 
Dimaxx ©   (2004-04-30 22:16) [2]

Зачем FormResize??? При Panel2.Align:=alClient она сама изменит размеры!


 
Fay ©   (2004-05-01 02:24) [3]

Кто "она сама"? Panel1? Да hren!


 
European   (2004-05-01 13:57) [4]


> Dimaxx ©   (30.04.04 22:16) [2]
> Зачем FormResize??? При Panel2.Align:=alClient она сама
> изменит размеры!


Дык не изменяет же. Уважаемые, помогите пожалуйста!


 
Cardinal ©   (2004-05-01 14:44) [5]

Если у компонента свойство align установлено в alClient, она
занимает все свободное пространство формы. Если изменить размер
формы, то компонент просто уменьшит/увеличит свои размеры


 
European   (2004-05-01 16:56) [6]


> Cardinal ©   (01.05.04 14:44) [5]
> Если у компонента свойство align установлено в alClient,
> она
> занимает все свободное пространство формы. Если изменить
> размер
> формы, то компонент просто уменьшит/увеличит свои размеры


Вы пробовали? Мой код приведён выше. Это только у меня глючит?


 
CPAS ©   (2004-05-02 08:14) [7]

1.
procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Align:=alTop;
RxSplitter1.Align:=alTop;
Panel2.Align:=alClient;
Form1.WindowState:=wsMaximized;
end;

Вставь перед Panel2.Align := alClient; строку
StatusBar1.Align := alBottom;

2.
procedure TForm1.FormResize(Sender: TObject);
begin
Panel1.Height:=(Form1.ClientHeight-StatusBar1.Height-RxSplitter1.Height) shr 1;


Это совсем не нужно. У тебя просто на Panel2 не хватает места.
Ты ставишь высоту Panel1 в высоту формы - высота статуса - высота сплиттера. А высоту и она занимает у тебя ВСЕ свободное место на форме.

ИТОГО
Убери FormResize!!!!


 
European   (2004-05-02 16:58) [8]

CPAS ©   (02.05.04 08:14) [7]
Вставь перед Panel2.Align := alClient; строку
StatusBar1.Align := alBottom;


Это помогло. Спасибо. Однако, странно, ведь StatusBar1.Align := alBottom ещё при создании формы в дизайн-тайме.

Cardinal ©   (01.05.04 14:44) [5]
Если у компонента свойство align установлено в alClient, она
занимает все свободное пространство формы. Если изменить размер
формы, то компонент просто уменьшит/увеличит свои размеры

--------------------------------------------------------------------------------
European   (01.05.04 16:56) [6]

> Cardinal ©   (01.05.04 14:44) [5]
> Если у компонента свойство align установлено в alClient,
> она
> занимает все свободное пространство формы. Если изменить
> размер
> формы, то компонент просто уменьшит/увеличит свои размеры

Вы пробовали? Мой код приведён выше. Это только у меня глючит?

--------------------------------------------------------------------------------
CPAS ©   (02.05.04 08:14) [7]
Убери FormResize!!!!


Вообще-то FormResize нужно для того, чтобы при изменении размеров формы панели имели одинаковую высоту. Как же тут без FormResize?



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
3-1082441334
Соловьев
2004-04-20 10:08
2004.05.16
Падает сервак ФБ 1.03


14-1082632846
vopros
2004-04-22 15:20
2004.05.16
Не могу завести компьютер с XP в домен.


9-1072642390
TJ
2003-12-28 23:13
2004.05.16
Никто не знает почему Альфатрансперенси не пашет


8-1077356458
Batoon
2004-02-21 12:40
2004.05.16
ПОДСКАЖИТЕ ссылочки на исходники FFT для DELPHI


1-1083319014
grover
2004-04-30 13:56
2004.05.16
как обновить экран?