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

Вниз

как можно быстрее сделать?   Найти похожие ветки 

 
Николай Быков ©   (2003-02-24 12:02) [0]

hint: Это не такой OI как в Delphi


для каждого св-ва у компонента создаетcя Label (название св-ва) и ComboBox (значения)

var
oiLabels: array of TLabel;
oiComboBoxes: array of TComboBox;
iTop: Integer;


...........
//Label"ы и ComboBox"ы у меня это динамические массивы
SetLength(oiLabels, Length(oiLabels) + 1);
SetLength(oiComboBoxes, Length(oiComboBoxes) + 1);
//Label"ы у меня лежат на панельки pnPropNames а ComboBox"ы на панели pnPropValues
oiLabels[High(oiLabels)] := TLabel.Create(frmMain.pnPropNames);
oiComboBoxes[High(oiComboBoxes)] := TComboBox.Create(frmMain.pnPropValues);
oiComboBoxes[High(oiComboBoxes)].Parent := frmMain.pnPropValues;
oiLabels[High(oiLabels)].Parent := frmMain.pnPropNames;
//прячу их, т.к. тода плюс ко всему еще и моргать все начинает %-(
oiComboBoxes[High(oiComboBoxes)].Hide;
oiLabels[High(oiLabels)].Hide;
//здесь дан пример для св-ва Caption
oiLabels[High(oiLabels)].Caption := "Caption";
oiLabels[High(oiLabels)].Top := iTop;
oiComboBoxes[High(oiComboBoxes)].Top := iTop;
//изменяю размер, чтобы нормально всё смотрелось :)
oiComboBoxes[High(oiComboBoxes)].Width := frmMain.pnPropValues.ClientWidth;
oiComboBoxes[High(oiComboBoxes)].Anchors := [akLeft, akTop, akRight];
oiLabels[High(oiLabels)].Left := 8;
oiLabels[High(oiLabels)].Width := frmMain.pnPropNames.ClientWidth;
oiComboBoxes[High(oiComboBoxes)].Style := csSimple;
oiComboBoxes[High(oiComboBoxes)].Text := "Label1";
//показываем
oiComboBoxes[High(oiComboBoxes)].Show;
oiLabels[High(oiLabels)].Show;

вот и все.
я здесь убрал лишние константы и проч.(словами обычными написал


 
Николай Быков ©   (2003-02-24 12:16) [1]

может быть лучше использовать другие компоненты или еще как-нибудь выйти из этого положения можно?


 
Романов Р.В. ©   (2003-02-24 12:51) [2]

High(oiComboBoxes), High(oiLabels) вместо этого всавь переменную Integer
Parent назначай в последнюю очередь.
Для повышения читаимости используй конструкцию with oiComboBoxes[High(oiComboBoxes)] do

Вроде не должно так сильно тормозить. Попробуй замерить время на некоторых участках кода и найди то место которое долго выполняется.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
1-17126
.::D.e.M.o.N.i.X::.
2003-02-22 17:54
2003.03.06
Как использовать две картинки из ImageList для TreeView


3-16856
romychk
2003-02-16 22:15
2003.03.06
транзакции


1-17182
som
2003-02-24 11:24
2003.03.06
StringGrid & QReport


3-16965
Ditrix
2003-02-17 13:28
2003.03.06
SQL запрос на выявление дублей ID


1-17003
Артём В.
2003-02-24 23:25
2003.03.06
Нужна поддержка скинов