MFC:Mehrere Dialogfelder in einer SDI

Dieses Thema MFC:Mehrere Dialogfelder in einer SDI im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von PeterOG, 15. Feb. 2006.

Thema: MFC:Mehrere Dialogfelder in einer SDI Hallo! Ich hab in einem Dialogfeld ein Weiter Button, wenn ich auf diesen klicke soll ein anderes Dialogfeld in der...

  1. Hallo!
    Ich hab in einem Dialogfeld ein Weiter Button, wenn ich auf diesen klicke soll ein anderes Dialogfeld in der SDI angezeigt werden(kein popup oder so).
    Habt ihr eine Idee mit welcher funktion ich das aktuell angezeigte dialogfeld ändern kann?
    Das Programm soll halt wie n installer laufen, so dass man immer nur auf weiter klicken mussen.

    MFG peter
     
  2. Wäre dann nicht eine dialogbasierte Anwendung geeigneter? CPropertySheet kann auch in einer Art Wizard-Modus verwendet werden. Recht einfach und geradeaus ginge es z.B. so:

    Dialogbasierte Anwendung erstellen.

    In den Header- und Source-Dateien des Dialogs CDialog durch CPropertySheet ersetzen (Vorsicht, nicht beim About-Dialog).

    Die Parameter der Elternklassen-Initialisierung ändern, also zumindest
      CMeinPropertySheet::CMeinPropertySheet(CWnd* pParent /*=NULL*/)
      : CPropertySheet(FENSTERTITEL) {...

    Die einzelnen Property-Page-Resourcen im Dialogeditor erstellen (bzw. erst mal eine zum Testen).

    Die Property-Pages erzeugen (... new DeinePropertyPage(...)), zum Property-Sheet hinzufügen AddPage(...)) und SetWizardMode() aufrufen [alles, bevor in InitInstance()->DoModal' aufgerufen wird,  z.B. im Konstruktor: CMeinPropertySheet::CMeinPropertySheet].

    Hmm ... das müsste es eigentlich sein. Rest siehe CPropertySheet und CPropertyPage in der Doku.

    Falls Du wirklich eine SDI-Anwendung benötigst, wäre die beste Lösung wahrscheinlich das Durchschalten von Views.
    Prinzip und Beispiel: http://support.microsoft.com/?scid=kb;en-us;141334&x=17&y=11
     
  3. Wie geil! wie geil! wie geil! :D :D
    Vielen dank das funzt super
     
  4. So jetzt hab ich so ziehmlich alles hinbekommen was ich wollte, nur stören mich die von SetWizardMode erstellten Buttons Abbrechen und Hilfe. Mit den anderen Buttons kommt man ganz gut mit Hilfe der Methode SetWizardButtons klar. Kann mir da vielleicht noch jemand weiterhelfen? Das wär echt super geil, weil ich dann so ziemlich fertig bin. Also kurz: ich möchte die Buttons Abbrechen und Hilfe verstecken/unsichtbar machen oder löschen.

    Danke schonmal
    MFG Peter
     
  5.   CWnd *btnWnd= GetDlgItem(IDHELP);
      btnWnd->ShowWindow(FALSE);
      btnWnd= GetDlgItem(IDCANCEL);
      btnWnd->ShowWindow(FALSE);

      return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
    }

    o.ä. in OnInitDialog.
     
Die Seite wird geladen...

MFC:Mehrere Dialogfelder in einer SDI - Ähnliche Themen

Forum Datum
Inhalt in Dialogfeldern wird abgeschnitten Windows XP Forum 5. Sep. 2008