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

Вниз

Своиство Align на компоненте Panel-ь   Найти похожие ветки 

 
AlbertHakimov   (2002-09-07 15:50) [0]

Помогите разобраться со свойством Align!
Создаю Panel c выравниванием по левому краю, далее накидываю на panel-ь кнопки ( caButtom ). В ниже привёдённом куску кода, кн. создаются с 3 по 0 и располагаются так: кн. с Caption - "Btn 0" над всеми предыдущими.

Далее я захотел изменить расположение какой-нибудь кн. и вот что обнаружил:
выполнив
procedure TForm1.Button4Click(Sender: PObj); с Edit1.Text=1;
и
procedure TForm1.Button4Click(Sender: PObj); с Edit1.Text=0;

кн. располагаюятся не совсем так как в VCL варианте TPanel,
т.е. кн. с Caption="Btn 1" над кн. с Caption="Btn 0" - как
задумывалось, а совсем наоборот - "Btn 0" над "Btn 1".

Уничтожать и снова создавать кн. можно, но зачем так сложно,
хочется проще

;==================================================
var TmpList :PList;

procedure TForm1.Button3Click(Sender: PObj);
var Btn: PControl;
i: Byte;
begin
TmpList:=NewList;
for i:=3 downto 0 do begin
Btn := NewButton(Panel1, Int2Str(i)).SetAlign(caBottom);
Btn.Caption := Int2Str(i);
Btn.CreateWindow;
TmpList.Add(Btn);
end;
form.Show;
end;

procedure TForm1.Button4Click(Sender: PObj);
var Btn: PControl;
i: Byte;
begin
PControl(TmpList.Items[Str2Int(EditBox1.Text)]).Align:=caTop;
end;

procedure TForm1.Button5Click(Sender: PObj);
begin
PControl(TmpList.Items[Str2Int(EditBox1.Text)]).Align:=caBottom;
end;


 
BorisMor   (2002-09-09 08:54) [1]

Если я правильно понял : не соответствует расположение объектов в запущеном пролекте, от того что задумывалось (при одинаковом Align)
у меня тоже кое было. Я так понял от TabOrder это зависит.


 
AlbertHakimov   (2002-09-09 16:12) [2]

>Если я правильно понял : не соответствует расположение объектов в >запущеном пролекте, от того что задумывалось (при одинаковом >Align)
>у меня тоже кое было. Я так понял от TabOrder это зависит.

Спасибо за отклик.
Но дело, как оказалось, в самом KOL, вернее как он отрабатывает установку свойтсва Align (перебор по номеру дочернего компонента) и следовательно, тот компонент, который раньше создан, а значит и имеет меньщий номер, отработает изменение раньше. И с этим ничего поделать нельзя, ну, по крайней мере я ещё не нашёл :).

Задумывалось, во общем-то, написать компонент, на подобие MS Outllok. Если есть какие-то задумки буду признателен.


 
Vladimir Kladov   (2002-09-11 09:51) [3]

Если очень хочется свой порядок видимости, то TabOrder имеется. В
некоторых случаях помогает создание промежуточных панелей с
EdgeStyle=esNone.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
4-3227
Gennadiy
2003-04-02 19:42
2003.06.02
В Win98 не работает ShellExecute


1-3010
Xeon
2003-05-22 00:03
2003.06.02
Удаление файла


3-2739
Bokus
2003-05-13 00:05
2003.06.02
InterBase (Паковка файлов GDB)


1-2883
qwerty2
2003-05-22 16:20
2003.06.02
Несовместисые типы. Почему?


14-3093
salvo
2003-05-14 05:50
2003.06.02
компилятор