Mausklick auf SDI Fläche ?



  • Leider lässt sich in VS2005 weder bei Dialogen noch bei SDI Applikationsfenstern eine Aktion über den Ressourcenmanager einrichten.

    Nun habe ich es gschafft einen Mausklick bei einem Dialog selber einzurichten. Sieht wie folgt aus

    in .h Datei

    class CPPMOutputDlg : public CDialog
    {
    [...]
    protected:
    	afx_msg void OnLButtonDown (UINT nFlags, CPoint point);
    	DECLARE_MESSAGE_MAP()
    };
    

    in .cpp Datei

    BEGIN_MESSAGE_MAP(CPPMOutputDlg, CDialog)
    	ON_WM_LBUTTONDOWN ()
    END_MESSAGE_MAP()
    
    void CPPMOutputDlg::OnLButtonDown (UINT nFlags, CPoint point)
    {
    	DestroyWindow ();
    }
    

    funktioniert auch. Nur weiß ich nicht wie ich dasselbe für den Hintergrund des SDI Fensters einrichte.

    Wo kommen die Initialisierungen hin? MainFrm.h, Document.h, DocumentDoc.h, DocumentView.h, und wo die Funktion ?

    Und falls es das doch gibt - wie kann man derartiges über Wizards einrichten ?

    Matthias



  • warum soll bei VS2005 das einrichten von Aktionen nicht funzen??
    ich selbst nutz den zwar nicht aber es sollte wie bei allen andern VS über den klassenassistenten gehn. den ruft du entweder auf wenn du rechte maustaste in ein klasse klickst bzw. im resourcenmanager auch rechte maustaste auf den dialog und klassenassistenten wählen. für die linke maustaste setzt du dann im klassenassi ne WM_LBUTTONDOWN Nachricht und du solltest die funktion in der gewählten klasse haben.

    Nur weiß ich nicht wie ich dasselbe für den Hintergrund des SDI Fensters einrichte

    ich rate jetzt mal in die DocumentView.h & DocumentView.cpp



  • LowFly schrieb:

    warum soll bei VS2005 das einrichten von Aktionen nicht funzen??
    ich selbst nutz den zwar nicht aber es sollte wie bei allen andern VS über den klassenassistenten gehn.

    Ich kenne in VS2005 keinen Klassenassistenten

    LowFly schrieb:

    den ruft du entweder auf wenn du rechte maustaste in ein klasse klickst

    kann nur funktion oder Variable hinzufügen, aber keine Aktionen

    LowFly schrieb:

    bzw. im resourcenmanager auch rechte maustaste auf den dialog und klassenassistenten wählen.

    Nein, gibt es nicht

    Ich lasse mich vom Gegenteil gerne mit Screenshots überzeugen.

    Matthias


  • Mod

    Class-View öffnen. Dort die entsprechende Klasse markieren. Im Eigenschaftsdialog. Nachrichten wählen und dort den entsprechenden Handler hinzufügen.



  • Martin Richter schrieb:

    Class-View öffnen. Dort die entsprechende Klasse markieren.

    Heißt bei mir "Klassenansicht"

    Martin Richter schrieb:

    Im Eigenschaftsdialog.

    Gibt es nicht.

    Martin Richter schrieb:

    Nachrichten wählen und dort den entsprechenden Handler hinzufügen.

    kann ich damit nicht machen.

    Ich kann nur bestehende Funktionen und Messages anklicken und an die entsprechende Stelle im Code springe.

    Ein Handbuch zu VS2005 habe ich nicht, da die Lizenz eine Campuslizenz ist. Sonst würde ich dort mal nachschauen.
    Matthias


  • Mod

    Ich verwende aus gutem Grund die englische Version, aber so schwierig kann ees doch nicht sein dass ins Deutsche zu übertragen:

    Also nochmal:
    - Class View öffnen
    - Entsprechende Klasse auswählen
    - Rechter Mausklick drauf
    - Properties (Eigenschaften) wählen
    - Dann im Properties Fenster (Eigenschafts Fenster) den fünften Schalter von links: Messages (Nachrichten)


Log in to reply