Parameterübergabe an Dialoge

fish-guts

Erfahrenes Mitglied
Hallo

Ich bin dabei, für mein Geschäft eine Software zu schreiben. Nun mein Problem; ich möchte per Mausklick ein weiteres Fenster öffnen, aber die alten Daten wie z.B: einen Namen den man über eine Editbox eingegeben hat, im neuen Dialog auch verwenden können...


Code:
void CAdmin::OnNewUserEdit() 
{
CString m_Username;
GetDlgItemText(IDC_ADMIN_USER,m_Username);
if(m_Username=="")
{
	 MessageBox("Bitte geben Sie einen Benutzer ein" , "Fehler" , MB_OK | MB_ICONWARNING);
}
else 
{
	 CString str;
	 GetDlgItemText(IDC_ADMIN_USER,str);
	 CString y,t;
	 y=USERDIR + str + FILEEND;
	 FILE *pChkfl;
	 pChkfl=fopen(y,"r");
	 if(!pChkfl)
	 {
		 MessageBox("Dieser Benutzername existiert nicht!" , "Fehler" , MB_ICONERROR | MB_OK);
	 }
	 else 
	 {
		 DeleteFile("user\\user.tmp");
		 FILE *pEdit;
		 pEdit=fopen("user\\user.tmp","w+");
		 if(!pEdit)
		 {
			 MessageBox("Der Benutzername kann momentan nicht bearbeitet werden. Bitte versuchen Sie es später nochmals!" , "Fehler" , MB_OK | MB_ICONERROR);
		 }
		 else
		 {
			CString m_EditUser;
			GetDlgItemText(IDC_ADMIN_USER,m_EditUser);
			fputs(m_EditUser,pEdit);
			CAdminEditUser dlgAdminEditUser;
			dlgAdminEditUser.DoModal();
			fclose(pChkfl);
		 }
	 }
}
}
 
BOOL CAdminEditUser::OnInitDialog ()
{
CDialog::OnInitDialog();
char z[40];
CString x;
FILE *y;
y=fopen("user\\user.tmp","r"); 
x=fgets(z,40,y);
SetDlgItemText(IDC_EDIT_USER,x);
MessageBox(x , x , MB_OK);
DeleteFile("user\\user.tmp");
return TRUE; 
}

Hat jemand eine Idee, wie das lösen kann? Bin ein absoluter C++ Neuling, daher soviel C in meinem Code ;) Vielen vielen Dank für eure Hilfe :)

Gruss FG
 
Hallo!

Code:
# include "NeueKlasse.h"
.. 
void CTest::OnNeuenButton()
{
   CNeueKlasse dlg;
   set.m_WertinderNeuenKlasse = m_WertausderAltenKlasse;
   set.DoModal();
}
In der neuen Klasse muss näturlich m_WertinderNeuenKlasse existieren!
Um eine neue Klasse (Fenster) / (Dialog) solltest du den Klassen Assi zur Hilfe nehmen!

sven
 
Zurück