Редактировать: Обновить внизу.
Надеюсь, что кто-то может помочь здесь, поскольку он ведет меня за поворот!
Delphi 2009
У меня есть форма с двумя компонентами TComboxBoxEx на ней
Один, который я заполняю во время выполнения следующим кодом
procedure TForm1.btn1Click(Sender: TObject);
var
N: Integer;
begin
cb1.ItemsEx.Add.Caption := 'Test';
for N := 0 to 5 do
with cb1.ItemsEx.Add do
begin
Caption := 'Item ' + IntToStr(N);
Indent := 1;
end;
end;
Другой я заполняю во время разработки, используя те же данные и устанавливая те же свойства.
Элементы в том, что я заполняю во время выполнения, вообще не имеют отступов, в то время как время проектирования у них просто отлично.
Есть идеи? В справке говорится, что идентификатор - это количество пикселей, для которого нужно сделать отступ, но время разработки затрачивается на более чем один пиксель, даже если для отступа задано значение 1.
Установка отступа в 10, например, в приведенном выше коде не имеет никакого эффекта.
Вот раздел DFM для времени проектирования comobo
object cb2: TComboBoxEx
Left = 184
Top = 8
Width = 145
Height = 22
ItemsEx = <
item
Caption = 'Test'
end
item
Caption = 'Item 0'
Indent = 1
end
item
Caption = 'Item 1'
Indent = 1
end
item
Caption = 'Item 2'
Indent = 1
end
item
Caption = 'Item 3'
Indent = 1
end
item
Caption = 'Item 4'
Indent = 1
end
item
Caption = 'Item 5'
Indent = 1
end>
ItemHeight = 16
TabOrder = 2
Text = 'cb1'
end
Обновление
Задание свойства Data для комбинированного элемента после заголовка и отступа заставляет его работать.
procedure TForm1.btn1Click(Sender: TObject);
var
N: Integer;
begin
cb1.ItemsEx.Add.Caption := 'Test';
for N := 0 to 5 do
with cb1.ItemsEx.Add do
begin
Caption := 'Item ' + IntToStr(N);
Indent := 1;
Data := Pointer(N); // New Line
end;
end;
Все немного странно.