Главная страница
    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.041 c
1-1083526543
TechnoDreamer
2004-05-02 23:35
2004.05.16
Проблема с раскладкой клавиатуры


14-1082531195
stud
2004-04-21 11:06
2004.05.16
удаление sp4 win2000


14-1082697943
SergP
2004-04-23 09:25
2004.05.16
Посоветуйте прогу для создания патчей.


4-1080467334
Nevil
2004-03-28 13:48
2004.05.16
Как определить атрибуты файла из SHGetFileInfo?


1-1083315265
ikivio
2004-04-30 12:54
2004.05.16
Шифровка файлов с помощью CryptoApi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский