Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Aus einen Dialog in nen anderen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.10.2004, 14:09 Uhr
xXx
Devil


Ich hab ne MFC- Dialogbasierte Anwendung erstellt und jetzt hab ich mal zwei Fragen:

1. wie kann ich Daten aus dem einen Dialog in einen 2. Übergeben?
2. mit welcher Funktion kann man durch zufalls-Prinzip einen Eintrag aus einer ListCtrl im Report-Modus auslesen?

Wenn ihr weitere angaben braucht sacht bescheid!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.10.2004, 20:02 Uhr
xXx
Devil


Kannst de mir Bitte genauer beschreiben wofür DLG und wofür A bzw. B stehen soll.
Soll ich bis

Code:

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


Alles in die Header-Datei von meinem Dialog A kopieren. A Propos ist es schlimm wenn ich beim starten des ersten Dialogs den zweiten öffne und der zweite dann erst geöffnet wird?


Hoffe mal das die Fragen nich alzu bedäppert sind!


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: