Вниз
Скачать: CL | DM;

...splitter ы сбиваются в одну кучу...   Найти похожие ветки 

 
Dmitry Strigevitch   (2002-12-28 04:02) [0]

Есть класс(TCardFM), в котором динамически должны создаваться панели(Panels) и сплиттеры(split) поочередности. Все это создается на панели, которая создается предварительно (panelPlace).

Проблема в следующем : при поочередном создании панелей и сплиттеров (процедура приведена ниже), сплиттеры сбиваются в кучу сверху, панели - снизу.
Требуется чтобы они чередовались, собственно для изменения размеров панелей!

Вот объявление класса :

TCardFM = class(TTabSheet)
box : TScrollBox;
panelPlace : TPanel;
activeList : TListView;
Split : TSplitter;
public
Panels : array of TPanel;

constructor Create(AOwner : Tcomponent);
procedure CreatePanels(caType : integer);
end;


Вот текст процедуры:

procedure TCardFM.CreatePanels(caType: integer);
var
a : integer;
begin

setLength(Panels,db.Cards[db.CardIndex].FieldsCount);

for a:=0 to db.ActiveCard.FieldsCount-1 do
begin

if a<db.ActiveCard.FieldsCount-1 then
begin
split := TSplitter.Create(PanelPlace);
split.Parent := PanelPlace;
split.Align := alTop;
split.Height := 5;
split.Top := 0;
end;

Panels[a] := TPanelFM.Create(panelPlace,a);

end;

end;


 
ЮЮ ©   (2002-12-28 05:46) [1]

>split.Top := 0;
Его нужно устанавливать большим чем Top+Height последней добавленной панели, тогда он "приклеится" к ней снизу. То же относится и к добавляемым панели, чтобы порядок соответствовал порядку создания.


 
Dmitry Strigevitch   (2002-12-29 02:06) [2]

to ЮЮ ©

Спасибо, сложные проблемы решаю, простые иногда - нет.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
7-37412
Ш-К
2002-10-07 04:28
2003.01.13
Как из под WIndows 9x/NT ловить прерывания?


1-37052
pet
2003-01-02 16:03
2003.01.13
Загрузка файла в программу


14-37373
LD
2002-12-25 14:03
2003.01.13
Как изменить системное время?


1-37213
jen_bond
2002-12-30 21:41
2003.01.13
Запись информации в ini


3-36945
BIN
2002-12-16 07:56
2003.01.13
Oracle умер




   Наверх