Текущий архив: 2003.01.13;
Скачать: 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 вся ветка
Текущий архив: 2003.01.13;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.008 c