001
01.10.2004, 15:17 Uhr
~KINK_LEO_III
Gast
|
Du kannst auch verschiedene weisen Daten zu einem anderen Dialog schiecken. Entweder du legst im ersten Dialog Membervariablen ein die du bei der OnOk() Funktion füllst und dann danach einliest oder uber SendMessage() den zweiten über die Daten benachrichtigst.
C++: |
DLG A // member Name , Adresse if ( a.DoModal() == OnOK() ) { DLG B; B.Name = A.Name; B.Adresse = A.Adresse; B.DoModal(); } //oder ein wenig komplizierter struct Daten{ string name; string adresse;};
//Nachricht definieren #define UM_NIMM_DATEN WM_USER +9965 //im Dialog B in der Headerdatei afx_msg LRESLUT NimmDieDaten(WPARAM wp, LPARAM lp ); in der CPP ( BEGIN_MESSAGE_MAP ) ON_MESSAGE( UM_NIMM_DATEN ,NimmDieDaten);
//und zum schluss naturlich die Funktion selber LRESLUT B:: NimmDieDaten(WPARAM wp, LPARAM lp ) { Daten* tmp = (Daten*) lp; name = tmp.name; addresse = tmp.addresse; }
//Im Dialog braucht Du nun nur noch die Nachricht an den Dialog B zu schiecken //z.b. Daten dummy; dummy.name = "KINK"; dummy.addresse = "blabla"; B.SendMessage(UM_NIMM_DATEN,0,(LPARAM)dummy);
|
das wars . Ich hoffe das Hilft.
Bearbeitung von Windalf: |
Bitte cpp-tags verwenden
|
Dieser Post wurde am 01.10.2004 um 15:19 Uhr von Windalf editiert. |