neuen Dialog einbinden



  • hallo leute

    ich habe in meinem Projekt über die Ressourcen ansicht einen neinen Dialog hinzugefügt
    rechtsklick drauf und eine neue klasse erstellt
    die .h Datei im Main dialog eingebunden

    und jetzt?

    sorry ich mache das zum ersten mal
    wie mach ich da jetzt weiter beim einbinden?

    Gruß Tigermoon



  • Du erstellst dir eine neue Instanz deines Dialogs.

    CMyDialogClass myDialog;
    

    Anzeigen kannst du den dann wie folgt:

    myDialog.DoModal()
    

    Was auch immer gut ist, wenn du einen Standard Dialog erzeugst mit "OK" und "ABBRECHEN" liefert DoModal() die ID des jeweiligen Buttons zurück.

    if(myDialog.DoModal()==IDOK)
    {
    // z.B. Variablen des Dialogs auslesen
    }
    

    Wenn du eigene Buttons erstellst, dann musst den Rückgabewert halt selber definieren.



  • und wo genau lege ich die Instanz an?
    im der [main].cpp wo ich die .h Dateien includiert habe?



  • Kannst in der Funktion in der du ihn dir anzeigen lassen möchtest.

    Kannst kurz bissl mehr über deine Anwendung sagen? Dann kann man sich besser reindenken.

    Beispiel:

    void CChildView::OnTestEinstellungen() 
    {
    
    	CTestConfig dlgTestConfig(this);
    
    	if(dlgTestConfig.DoModal()==IDOK)
    	{
    		m_bStrom		= dlgTestConfig.m_bStrom;
    	}
    
    }
    

    Diese Funktion wird aufgerufen, wenn im Menü auf den Punkt "Einstellungen" geklickt wird.



  • ich drücke auf einen button - dem hab ich per doppelklick ein ONClicker Ereignis hinzugefügt und will dort den neuen Dialog aufrufen

    meine Frage war aber wo ich die Instanz erzeuge oder wie?
    weil ich kann ja nix aufrufen was nicht erzeugt ist oder?



  • void CChildView::OnButton1() 
    {
    
        DialogKlasse DialogName(this); // erzeugt eine neue DialogInstanz
    
        if(DialogName.DoModal()==IDOK) // Zeigt den erstellten Dialog an
        {
            m_bStrom        = DialogName.m_bStrom; //wird ausgeführt, wenn Dialog mit "OK"Button beendet wurde
        }
    
    }
    


  • danke schön - das Aufrufen funktioniert
    aber
    was ist m_bStrom er sagt bei mir es wäre nicht definiert
    auf was zeigt den m_bStrom? - auf das fenster? - auf eine variable?



  • sry m_bStrom ist bei mir halt eine Membervarialbe vom Typ int.
    Die Zeile zeigt nur, wie du dann auf Membervarialben deines Dialogs zugreifen kannst. Die sind bei dir natürlich nicht definiert.



  • und wie definiere ich eine Membervariable 😉



  • Tigermoon schrieb:

    und wie definiere ich eine Membervariable 😉

    Hmmm, das sind aber absolute Grundlagen...
    Eine Membervariable deklarierst du in der Headerdatei, genauso wie eine Memberfunktion.



  • oder einfach in der KLassenansicht nen Rechtsklick auf die gewünschte KLasse machen. Dann kannst auswählen was du machen willst.
    Aber das gehört wirklcih zu den untersten Grundlagen.

    Ich empfehle dir mal http://www.cpp-tutor.de/ da kannst unten 2 Tutorials auswählen, die sind echt gut. Schau mal ob du damit zurecht kommst.


Anmelden zum Antworten