Главная страница
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.044 c
4-1080125371
WebErr
2004-03-24 13:49
2004.05.16
Почему у меня программа завершает свою работу не всегда...


1-1083241391
ЁПРСТ
2004-04-29 16:23
2004.05.16
Как подключить RxLib?


7-1081419272
Aleksandr
2004-04-08 14:14
2004.05.16
Как запустить из программы виндовый Dial-Up с заданным именем сое


1-1083654182
real_dimedrol
2004-05-04 11:03
2004.05.16
Перенаправление вывода win16-программ


1-1083163410
KillOfCats
2004-04-28 18:43
2004.05.16
Работа с файлами