Главная страница
    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.46 MB
Время: 0.038 c
14-1082953559
Warrior
2004-04-26 08:25
2004.05.16
WinAPI контролы


1-1083422566
Leos
2004-05-01 18:42
2004.05.16
"Нестандартная форма"


1-1083335198
Elast
2004-04-30 18:26
2004.05.16
DBGridEh


1-1082988546
VitGun
2004-04-26 18:09
2004.05.16
Подскажите с алгоритмом


7-1080573409
TankMan
2004-03-29 19:16
2004.05.16
Как узнать высоту заголовка окон?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский