Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.011 c
1-17162
lexx80
2003-02-23 23:42
2003.03.06
Диалог открытия папки


1-17029
Маришка
2003-02-25 09:40
2003.03.06
вопросик


3-16964
Alik
2003-02-14 11:37
2003.03.06
Прокрутка StringGrid


14-17272
Zhenka
2003-02-19 05:55
2003.03.06
Хочу собрать новый комп


6-17249
Grin
2003-01-14 15:59
2003.03.06
TidHttp в цикле после неудачного запроса больше не конектится




   Наверх