type
//eigene Klasse mit 2 Stringattributen
TComboItem =
class
private
FDisplayText,
FInternalText:
string;
public
//Anzeigetext
property DisplayText:
string read FDisplayText
write FDisplayText;
//intern genutzter Text
property InternalText:
string read FInternalText
write FInternalText;
end;
procedure TfrmTest.ComboBox1Change(Sender: TObject);
var MyItem: TComboItem;
begin
//internen Text des ausgewählten Items anzeigen
if ComboBox1.ItemIndex > -1
then
begin
MyItem := ComboBox1.Items.Objects[ComboBox1.ItemIndex]
as TComboItem;
ShowMessage(MyItem.InternalText);
end;
end;
procedure TfrmTest.FormCreate(Sender: TObject);
var MyItem: TComboItem;
begin
//Einfügen von 2 Instanzen der Klasse zur Combobox
MyItem := TComboItem.Create;
MyItem.DisplayText := '
Sichtbarer Text';
MyItem.InternalText := '
Intern genutzter Text';
ComboBox1.Items.AddObject(MyItem.DisplayText, MyItem);
MyItem := TComboItem.Create;
MyItem.DisplayText := '
Wuppdi';
MyItem.InternalText := '
Hinter den 7 Bergen';
ComboBox1.Items.AddObject(MyItem.DisplayText, MyItem);
ComboBox1.ItemIndex := 0;
end;
procedure TfrmTest.FormDestroy(Sender: TObject);
var i: integer;
begin
//Instanzen freigeben
for i := ComboBox1.Items.Count - 1
downto 0
do
ComboBox1.Items.Objects[i].Free;
end;