MausEvents werden in Dialog nicht erkannt....
-
Hallo,
schreibe gerade eine SDI-Anwendung.
Habe von einem anderen Programm einen Dialog in mein jetzigs Programm übernommen (über Resourcen). Diesem Dialog dann auch eine Klasse hinzugefügt, Membervariablen für die entsprechenden Steuerelement erstellt, ...!
So, die einzelnen Elemente kann ich über die Membervariablen ansprechen und Werte zuweisen.
Öffne ich nun in meiner Andwendung diesen Dialog (Create, ShowWindow) dann bekomme ich den Dialog angezeit und über die Tab-Taste kann ich meine Elemente auch anspringen und über Tastatur Werte eingeben.ALLERDINGS reagiert der Dialog überhaupt nicht auf die MAUS. Den Maus-Cursor kann ich schon bewegen, allerdings beim anklicken eines Steuerelements passiert nichts. Ich kann also durch klicken in ein Textfeld dieses nicht aktivieren (Cursor im Textfeld) oder so.
Bsp. Button:
Normalerweise verändert ja der Button kurz beim KLICKEN seine Aussehen...!
Bei mir nicht. WARUM?Vielleicht hat ja einer ne Idee.
Irgendwie stehe ich gerade auf dem Schlauch und komm nicht weiter.Danke.
Gruss
S.
-
Zeig mal die Messagemap.
-
Hallo estartu_de,
hier mal die MessageMap aus einem Header meiner Dialoge:// Implementierung protected: // Generierte Nachrichtenzuordnungsfunktionen //{{AFX_MSG(CKonfigurationDlg) virtual BOOL OnInitDialog(); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnButtonData(); afx_msg void OnButtonSystem(); afx_msg void OnButtonDio(); afx_msg void OnButtonAuxiliarySystems(); afx_msg void OnButtonParameters(); afx_msg void OnButtonOffsets(); afx_msg void OnButtonDataLink(); //}}AFX_MSG DECLARE_MESSAGE_MAP()
In diesem DLG sind halt nur Buttons, die Funktionen existieren auch.
Was mich halt richtig verwundert ist die Tatsache, dass sich der Button, wenn ich draufklicke, nicht kurz -verändert- (normalerweise sieht man ja wenn ein Btn gedrückt wird).Schon mal Danke.
Gruss
S.
-
Das wundert mich ja auch.
Nun suche ich eben nach einer Funktion, die die Mausklicks unterdrückt.
Hast du vielleicht ein PreTranslateMessage drin?Funktionieren andere Dialoge in der Anwendung?
-
Hi,
PreTranslateMessages habe ich nicht.Bin aber jetzt ein bisschen schlauer geworden.
Also, mein Projekt ist folgendermaßen aufgebaut...und da liegt wohl auch der Fehler.
Neue Doc Klasse erstellt. Von dieser Doc-Klasse aus werden alle Dialoge dynamisch erzeugt (Create), darunter auch ein "Haupt"-Dialog von dem alle anderen Unterdialoge abgeleitet sind.
Der Codeausschnitt meines letzten Postings war von diesem "Haupt"-Dialog.So, jetzt habe ich einen neuen Dialog samt Klasse erstellt und zeige diesen direkt vor dem Hauptdialog an --> und siehe da es funktioniert. Kann die Steuerelemente mit der Maus ansprechen.
Auf die gleiche Art und Weise habe ich jetzt nochmal versucht einen meiner "kopierten" Dialoge direkt zu laden und das Problem besteht weiterhin.
Was läuft denn da falsch?Bin echt mit meinem nicht vorhandenen Latein am Ende....
Noch ne Idee?
Danke!
Gruss
S.
-
So, Problem zwar noch nicht behoben, aber zumindest die Ursache entdeckt:
Der Dialog war als "untergeordnet" gesetzt und deshalb wurden Mausklick-Ereignisse nicht erkannt.Trotzdem Danke für die Hilfe.
Gruss
S.