Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Внизкак можно быстрее сделать? Найти похожие ветки
← →
Николай Быков (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c