ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
641
641
EMPFEHLEN
-
15.08.06 13:51 #1
- Registriert seit
- Aug 2006
- Beiträge
- 25
Hallo,
ich habe ein Problem mit Visual C++. Und zwar möchte ich in eineme Dialog A zwei Strings einlesen und diese in Dialog B wieder anzeigen.
Das Einlesen der Strings in Dialog A funktioniert. Allerdings weiß ich nicht, wie ich die beiden Strings in Dialog B ausgeben soll.
Kann mir jemand sagen wie das funktioniert. Das kann doch eigentlich nicht so schwer sein.
Ich eigne mir gerade Visual c++ an und bin daher noch etwas unerfahren mit C++.
Vorab vielen Dank für Eure konstruktiven Hinweise.
-
15.08.06 16:04 #2
- Registriert seit
- Jul 2006
- Beiträge
- 101
hallo,
leite doch einfach die CDialog klasse ab und baue dir eigenen Konstruktor wo du die Strings übergibst.
Gü
-
16.08.06 11:59 #3
- Registriert seit
- Aug 2006
- Beiträge
- 25
Ich habe das gestern noch einmal wie folgt versucht:
Also, ich möchte von einem Dialog A zwei String nach Dialog B senden.
Ich habe das bisher so versucht:
Im Dialog A gibt es zwei Strings
1. m_strSendeArtikel (public)
2. m_strSendeMenge (public)
Im Dialog B bilde ich eine Instanz der Klasse DialogA wie folgt:
CDialogA m_dSendeArtikel
CDialogA m_dSendeMenge
Im Dialog B greife ich dann wie folgt auf die Werte zu:
m_strEmpfangArtikel=m_dSendeArtikel.m_strSendeArtikel;
m_strEmpfangMenge=m_dSendeMenge.m_strSendeMenge;
Mit m_strEmpfangArtikel möchte ich dann die Strings aus Dialog A in Dialog B
anzeigen.
Dies funktioniert aber leider nicht so, wie ich mir das gedacht habe.
Es müsste aber doch eingentlich so auch funktionieren.
-
16.08.06 12:08 #4
- Registriert seit
- Jul 2006
- Beiträge
- 101
Hallo,
ab wann greifst du denn auf die Flags zu, wenn der Dialog bereitsgeschlossen ist
Grüße
R.
-
16.08.06 12:27 #5
- Registriert seit
- Aug 2006
- Beiträge
- 25
Der Dialog A ist die ganze Zeit über geöffnet.
-
16.08.06 12:36 #6
- Registriert seit
- Jul 2006
- Beiträge
- 101
Hallo,
hast du überprüft ob in den Strings DialogA was drin steht, wenn ja ist die Frage steht in deinen DialogB Flags nichts drin oder wird der Text einfach nicht dargestellt in einem Textfeld o.ä. ?
Wenn in deine DialogB Flags etwas drin steht. Nimm CEdit->SetWindowText(m_strEmpfangArtike)
Grüße
R.
-
16.08.06 12:50 #7
- Registriert seit
- Aug 2006
- Beiträge
- 25
Im Dialog A enthalten die Strings den richtigen Inhalt.
Und ich habe auch überprüft ob die Strings im Dialog B angezeigt werden. Auch das funktioniert.
Die Flags im Dialog B sind leer.
Das Problem liegt in der Übergabe der Strings von Dialog A nach Dialog B.
Zum Verständnis: Das Prinzip, wie ich es oben angewendet habe ist doch richtig?
-
Mit "CDialogA m_dSendeArtikel" und "CDialogA m_dSendeMenge" legst du neue Objekte der Dialogklasse "CDialogA" an, die nichts mit dem existierenden Dialog A zu tun haben. Daher klappt der Zugriff auf die Membervariablen nicht. Du müsstest dem Dialog B jeweils einen Zeiger auf den vorhandenen Dialog A übergeben bzw. den Zugriff auf das Dialogobjekt ermöglichen.
Zitat von king_of_drums
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
30.08.06 10:23 #9
- Registriert seit
- Aug 2006
- Beiträge
- 25
Wie übergebe ich nun dem Dialog B einen Zeiger vom Dialog A? Oder wie kann ich dem Dialog B den Zugriff auf Dialog A ermöglichen?
-
30.08.06 10:32 #10
- Registriert seit
- Aug 2006
- Beiträge
- 25
Geht das nicht auch mit der "SendMessage" Funktion?
-
Das hängt davon ab, wie deine App aufgebaut. Ist es eine dialogbasierte Anwendung und DialogA ist der Hauptdialog? Werden die beiden Dialoge gleichberechtigt gestartet oder wird z.B. DialogB innerhalb von DialogA gestartet?
Zitat von king_of_drums
Im Prinzip schon, bedeutet aber ebenfalls, das du ein Objekt oder Fensterhandle vom DialogA haben musst.
Zitat von king_of_drums
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
30.08.06 12:11 #12
- Registriert seit
- Aug 2006
- Beiträge
- 25
Die Anwendung Dialogfeldbasierend. Dialog A ist mein Hauptdialog und Dialog B wird von Dialog A aufgerufen.
-
Dann kannst du im Dialog B das machen:
GrußCode cpp:1 2 3
CDialogA *pDlg = (CDialogA *)AfxGetMainWnd(); m_strEmpfangArtikel = pDlg->m_strSendeArtikel; m_strEmpfangMenge = pDlg->m_strSendeMenge;
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
30.08.06 13:45 #14
- Registriert seit
- Aug 2006
- Beiträge
- 25
SUPER Es funktioniert. Vielen Dank
Ähnliche Themen
-
Dialog aus Dialog heraus öffnen
Von sTEk im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 08.12.08, 22:07 -
Dialog in Dialog und Enter Taste
Von JoachimJogi im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 26.05.07, 05:44 -
[C++] Zugriff auf Dialog aus anderem Dialog
Von JoachimJogi im Forum VisualStudio & MFCAntworten: 7Letzter Beitrag: 20.02.07, 17:06 -
Strings von Dialog A nach Dialog B übertragen
Von king_of_drums im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 15.08.06, 13:47 -
Nachricht von einem Dialog zu modalen, geöffneten 2. Dialog schicken
Von gehrti im Forum VisualStudio & MFCAntworten: 5Letzter Beitrag: 24.05.05, 12:49





Zitieren
Login






