Hallo!
Ich habe einige Beiträge schon gefunden im Forum (und auch in anderen), aber dieses spez. Problem habe ich leider noch nicht gefunden.
Und zwar gehts um eine Combobox unter .NET, der als Items Objekte hinzugefügt werden - soweit kein Problem:
Delphi-Quellcode:
var G : cGruppe;
begin
G:=cGruppe.Create;
G.ID:=ZeroGuid;
G.Grp:='[[neueGruppe]]';
G.Display:='[[ neue Gruppe erster Ebene ]]';
G.ParentID:=ZeroGuid;
Combobox1.Items.Add(G);
//und noch viele weitere Einträge ähnlicher Art
end;
Ich zeichne die Combobox logo selber, und auch bis hierher kein Problem:
Delphi-Quellcode:
procedure TWinForm.DrawComboboxItem(sender: TObject; e: DrawItemEventArgs);
var g : Graphics;
Grp : cGruppe;
f : System.Drawing.Font;
begin
g:=e.Graphics;
Grp:=cGruppe(Combobox1.Items.Item[e.Index]);
if e.State = e.State or DrawItemState.Selected then
g.FillRectangle(SolidBrush.Create(Color.Orange), e.Bounds)
else
g.FillRectangle(SolidBrush.Create(Color.White), e.Bounds);
f:=System.Drawing.Font.Create('Calibri', 12);
g.DrawString(Grp.Display, f, SolidBrush.Create(Color.Black), e.Bounds);
end;
Aber wenn ich jetzt einen Eintrag auswähle, erscheint als Text in der geschlossenen Combobox der Name der Klasse "cGruppe" anstatt des gewünschten Eintrags. Es ist logisch, die gewünschte Property (in diesem Fall Grp.Display) aus dem ausgewählten Combobox-Eintrag wieder rauszuschälen - aber wo bitte? Ich hab bereits alle Methoden systematisch durchprobiert, leider nicht erfolgreich.
Bitte um Hilfe!
LGs Stefan
Man strahlt hier nicht in Wien,
denn bald strahlt es aus Temmelin