wie kann ich aus einem Dialog einen anderen Dialog aufrufen



  • newkid schrieb:

    warum solltest du die membervariable einen button oder noch besser 👍 listbox 👍 zuweisen??? Das gibt keinen sinn

    Da du es imme noch nciht verstanden hast.

    die "neue" variable

    NICHT einer listbox
    NICHT einem button

    zuweisen

    sondern dem dialog zuweisen 😉

    im tutorial heisst es nicht

    Cdialog2 sondern CMsgDlg

    4. Im Dialogfeld Member-Variable hinzufügen legen Sie den Variablentyp mit CMsgDlg , den Variablennamen mit m_dMsgDlg und den Zugriffsstatus als Privat fest. Klicken Sie auf OK, um die Variable in Ihr Hauptdialogfeld aufzunehmen.



  • heinz.hemer schrieb:

    Das steht im geposteten 21 Tage c++

    3. Doppelklicken Sie auf die Datei DialogeDlg.cpp. Daraufhin erscheint der Quellcode für das Hauptdialogfeld der Anwendung im Bearbeitungsbereich des Visual Studios.

    Na klasse, bei mir stehen 5 Dateien mit der Endung .cpp

    Aber keine heißt DialogeDlg.cpp

    4. Gehen Sie an den Beginn des Quellcodes, wo sich die #include-Anweisungen befinden, und fügen Sie eine #include-Anweisung für die Datei MsgDlg.h vor die Datei DialogeDlg.h ein, wie es Listing 5.3 zeigt.

    Da stehen bei mir 6 Dateien mit der Endung .h

    Aber keine heißt MsgDlg.h

    willst du mich verar... ne im ernst

    denkst du die im tutorial haben DASELBE projekt wie DU ???? mit den EXAKT gleichen namen wie DU vergeben hast????????

    ne mal im ernst!

    Du kannst auch 6 oder 60 .h endungen haben, das ist SCHExxxEGAL

    es geht ums prinzip

    wenn du DEN neuen dialog

    Cdialog2 gennant hast, heisst die .h dialog2

    wenn du sie

    Cassineuerdialog genannt hast, dann heisst die assineuerdialog.h

    Du musst zuerst einen neuen dialog erstellen ( hast du schon gemacht oder??????? )

    dann merkst du dir den namen! und wenn der dialog nicht "zufälligerweise"

    CMsgDlg

    heisst sondern

    Cmeinneuerdialog

    dann musst du überall im tutorial da drauf klicken wo Cmeinneuerdialog und nicht wo CMsgDlg stehst. das ist dir schon klar, oder?

    nimm wirklich erstmal ein gutes c++ buch zur hand und lerne was über klassen
    dann nimm das tutorial in die hand und gehe da alles durch

    erst dann mach dein "projekt"

    ich helf dir nicht mehr, ist ja hoffnungslos, weil du wirklich null ahnung hast, was die grundprinzipen sind 😞



  • c:\dokumente und einstellungen\heinz\desktop\arbeit\bearbeiten\buchen\monate5.h(42) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_dMsgDlg'
    c:\dokumente und einstellungen\heinz\desktop\arbeit\bearbeiten\buchen\monate5.h(42) : error C2501: 'CMsgDlg' : Fehlende Speicherklasse oder Typbezeichner
    c:\dokumente und einstellungen\heinz\desktop\arbeit\be

    ich hab die Membervariable erstellt und das kommt raus



  • Also ich hab es jetzt geschafft.

    Und wenn ich jemandem dies erklären sollte dann so:

    Unter Ressourcen Ansicht im Ordner Dialog einen neuen Dialog hinzufügen

    Doppelklick auf den neuen Dialog und eine neue Klasse erstellen mit dem Namen z.B. DialogNeu

    In die Klassenansicht wechseln auf die Klasse, wo der erste Dialog drin ist.

    Dort eine Membervariable erstellen

    Typ: DialogNeu ( also die eben erstellte Klasse )
    Name z.B.: m_dialogneu

    Aufruf des ganzen mit m_dialogneu.DoModal();

    Fertig - und nicht so irritierend erklären mit Membervariablen erstellen in der neuen klasse - da kommt man ja nicht weiter.

    Bis zum nächsten Mal



  • Und vielleicht noch ein:

    TROZDEM DANKE FÜR DEINE MÜHEN, AUCH WENN´s MIR NICHT GEHOLFEN HAT.

    😉

    bye, BigSigi 🤡



  • In die Klassenansicht wechseln auf die Klasse, wo der erste Dialog drin ist.

    Der Dialog ist nicht in der Klasse. Die Klasse ist quasi der Bauplan für den Dialog, und in dem moment wo du eine (Member)Variable von der Klasse anlegst erzeugst du ein Object davon und kannst damit arbeiten. Mit DoModal() machst du es dann nur nur noch sichtbar.


Anmelden zum Antworten