編集:下部に更新:TComboBoxExランタイムに読み込まれたアイテムはインデントされません。
誰かがここで私を助けてくれることを願っています。
のDelphi 2009
私は上の2つの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;
私はそれを用いた設計時に移入他に、実行時に移入
つのフォームを持っています同じプロパティを設定することができます。
私が実行時に入力したものは、まったくインデントされていませんが、デザインタイムのものはうまくインデントされています。
アイデア?ヘルプでは、identはインデントするピクセル数ですが、インデントが1に設定されていても、デザイン時間は1ピクセル以上インデントされます。
たとえば、上記のコードでインデントを10に設定すると、無効。ここで
はキャプションとインデントの後にコンボ項目のDataプロパティを設定し、設計時間comoboobject 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
更新
のためのDFMのセクションでは、それが仕事を得るように思われます。
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;
少し奇妙です。
私があなただったらQCに報告したいと思います。 –
そうだと思います – Jamie