?
Hallo,
Ich hab in C++ eine ActiveX erstellt, soweit klappt alles perfekt, allerdings bei den Events/Ereignissen hab ich Probleme:
Ich hab 2 Klassen:
Die Steuerelementklasse(COleControl)
Eine andere Klasse (CDialog)
Die zweite Klasse (CDialog) verweist auf einen Dialog, auf welchem eine Listview (CListCtrl) liegt. Nun möchte ich ein ActiveX-Ereignis auslösen, sobald der Benutzer mit der Rechten Maustatste auf diese Listview klickt. Mein erster Schritt war also, durch den Klassenassistenten eine NM_RLICK-Nachricht der zweiten Klasse (CDialog) hinzuzufügen. Mein nächster Schritt war dann, in dieser Funktion das in der Steuerelementklasse (COleControl) definierte Event FireListRightClick() auszulösen:
CTestElementCtrl test;
test.FireListRightClick();
Wenn ich das kompiliere, kommt kein Fehler, die ActiveX wird erstellt. Übrigens ist die 2.Klasse in der 1.Klasse als friend class deklariert.
Nun zu meinem Problem: Obwohl kein Fehler beim Kompilieren kommt, wird das Event so nicht aufgerufen!?! Ich habe auch schon getestet, ob überhaupt das NM_RCLICK ausgelöst wird, also hab ich eine MsgBox vor dem Event auslösen gesetzt, Ergebnis: Msgbox kommt, Event wird nicht ausgelöst ^^ Komisch ist auch, dass ich das Problem nur habe, wenn ich von der 2.Klasse aus aufrufen will, wenn ich FireListRightClick() zum Beispiel in der OnCreate-Funktion in der 1.Klasse auslöse, wird es perfekt ausgelöst. Zum Testen hab ich den ActiveX TestContainer verwendet, der zeigt ja unten in einer Liste die aufgerufenen Events an.
Ich hoffe irgendjemand hier kann mir helfen, falls es Fragen gibt werde ich versuchen, dass ich die beantworte...