Главная страница
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.017 c
14-17264
copyr25
2003-02-19 06:06
2003.03.06
Баннеромантия


14-17297
chernoruk
2003-02-19 23:15
2003.03.06
управление Media Player


14-17260
Glonia Zbanov
2003-02-11 11:40
2003.03.06
название формы


7-17413
Ianus
2002-12-29 11:50
2003.03.06
Модем и динамик


14-17304
pasha676
2003-02-14 16:53
2003.03.06
ДиВиДи пишуший