000
18.07.2003, 15:07 Uhr
~Otingocni
Gast
|
Hallo!
Ich habe foilgendes Problem:
Ein TreeView in dem einige Objekte angezeigt werden. Jedes Objekt basiert auf einer anderen Klasse. Allerdings stammen diese Klassen alle von ein und der selben Klasse ab. Nun möchte ich, wenn man die rechte Maustaste im TreeView drückt, daß zum richtigen Objekt jeweils das passende Kontextmenu angezeigt wird. Dazu besitzt jede Klasse eine Funktion "void ShowMenu()". Ich kann nun als lParam eines jeden Items des TreeView einen long-Wert speichern (z.B. Zeiger auf die entsprechende Klasse, Zeiger auf die Funktion ShowMenu der Klasse (funktioniert nicht)). Aber wie kann ich nun ohne zu wissen um welche Vererbung der Basisklasse es sich handelt die richtige Funktion aufrufen:
Ich habe die Basisklasse CBasis und einige davon abstammende Klassen CClass1, CClass2, CClass3. Ich möchte jetzt nicht schreiben müssen (CClass1*) lParam->ShowMenu(); denn ich weiß ja nicht, ob es sich wirklich um CClass1 oder aber CClass2 handelt.
Ist dies irgendwie möglich. Ich hoffe ich hab mich verständlich machen können.
Vielen Dank für Eure/Ihre Mühe.
Stephan |