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 buttonzuweisen
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 durcherst 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\beich 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_dialogneuAufruf 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.