Dialog einbinden



  • Die generierte .cpp File ist doch nicht zu beachten oder?

    nicht für das erstellen der Variable mit der du den Dialog öffnen willst.

    Ich muss sicherlich die MyDialog.h mit in die Haupt.h includen.

    ja

    Wie gehe ich nun weiter vor?!

    jetzt aber ganz schnell hoch zur 1 post von Barados und meiner wenigkeit und lesen...



  • "Haupt.h"? Sehe ich jetzt nicht, du meinst wohl in die "EinfachesFenster.cpp"? Dort einfach ein #include hinzufügen:

    EinfachesFenster.cpp:

    #include "EinfachesFenster.h"
    #include "MyDialog.h"
    
    CMyApplication MyApp;   //Ein Objekt der abgeleiteten Anwendungsklasse erzeugen 
    
    CMyWindow::CMyWindow()
    {
      m_brushMyBackground.CreateHatchBrush( HS_CROSS, RGB( 240, 240, 240 ) );
      CString strWndClass =
      AfxRegisterWndClass
      ( CS_HREDRAW | CS_VREDRAW, MyApp.LoadStandardCursor( IDC_ARROW ),
        m_brushMyBackground,
        MyApp.LoadIcon( IDI_ICON1 ) //eigenes Icon eingebunden ansonsten: MyApp.LoadStandardIcon( IDI_WINLOGO ) 
      );
      Create( strWndClass, _T("Mein erstes MFC Fenster") );
    }
    
    //usw...
    

    Verwendung dann in z.B. CMyWindow::OnRButtonDown wie schon oben geschrieben...

    MfG,

    Probe-Nutzer



  • Was für ein Datentyp nehme ich denn?
    Wenn ich eine (Member)Variabel deklariere, muss ich ja auch den Typ angeben.



  • Ah nun habe ich es!

    VIELEN DANK! Das war ein Spitze Support von Euch..

    Schönen Abend noch.



  • na deinen klassennamen
    MyDialog m_MyDlg;//<- that's it

    [NEW EDIT]
    👍



  • @rT!f@Ct schrieb:

    na deinen klassennamen
    MyDialog m_MyDlg;//<- that's it

    [NEW EDIT]
    👍

    Habs nun direkt in der Schleife deklariert:

    void CMyWindow::OnRButtonDown(UINT nFlags, CPoint point)
    {
    
    	MyDialog dlg1;
        dlg1.DoModal();
    
    }
    

    Funktioniret aber auch.
    Denn wenn ich es in der MyDialog.h deklarieren will, meckert er rum:

    http://img202.imageshack.us/img202/6641/sreen.jpg

    aber naja es klappt ja nun



  • Denn wenn ich es in der MyDialog.h deklarieren will, meckert er rum:

    😕 <-(wie viele davon soll ich jetzt hier hin machen?)

    nicht in der MyDialog.h ne membervariable von sich selbst deklarieren
    sondern in der MyWindow.h



  • class MyDialog: 
    {
     public:
     MyDialog m_Dlg1
    };
    

    So meinst du oder?
    Also in der EinfachesFenster.h



  • in die Headerdatei in der die Klasse CMyWindow erstellt wird



  • wie kommst du eigentlich zu dem doch eher anspruchsvollen visual studio standard(+) ?

    MfG



  • @rT!f@Ct schrieb:

    in die Headerdatei in der die Klasse CMyWindow erstellt wird

    Geht nicht.
    Ist meine deklaration auch richtig?



  • weis nicht mehr was ich dir noch schreiben könnte damit du es verstehst.
    du willst es in der datei ansprechen in der

    void OnRButtonDown(UINT nFlags, CPoint point)
    

    deklariert ist, damit du es in der funktion ansprechen kannst.

    und eben in diese headerdatei wo OnRButtonDown deklariert ist must du die MyDialog.h includen und in der Klassen von OnRButtonDown die membervariable (MyDialog m_Dlg1;)erstellen.

    ansonsten bin ich jetzt am ende meines lateins... 🙄



  • warum fängst du eigentlich mit MFC an, wenn du noch garkeine Ahnung von C oder C++ hast?

    du benötigst erstmal grundwissen über die Struktur und den Ablauf eines normalen C Programmes um sowas machen zu können, sonst wird das nur rumgeschuster...

    Hol dir mal ein Einsteigerbuch und fang mit ner einfachen IDE und einfachen Programmen an.

    MfG 😕



  • Barados schrieb:

    Hol dir mal ein Einsteigerbuch und fang mit ner einfachen IDE und einfachen Programmen an.

    👍 und in so einem buch ist auch spätestens ab dem 3 kapitel drann, wie man klassen untereinander bekannt macht, verbindet und übern Butten ein Dialogfeld öffnet.



  • ich würde sogar erstmal auf der kommandozeile beginnen...

    ich lasse meinen azubi hier gerad atoi und sowas nachbauen... das steckt er später in eine eigene functions.cpp mit header und damit hat er ne nette arbeitsgrundlage.

    MfG


Anmelden zum Antworten