Dialog mit Parameter erstellen.
-
Hi,
ich komme aus der WinApi Ecke und programmiere jetzt ein wenig in MFC.
Wenn ich ein CDialog (oder eine Abgeleite KLasse) habe, kann ich den Dialog ja mittels Create oder DoModal erstellen. Aber wie kann ich einen Parameter übergeben?
Ich habe das im Internet gefunden http://support.microsoft.com/kb/460659/fr
Allerdings bekomme ich einen Fehler bei _AfxDlgProc. Das kennt er nicht.
Hoffe Ihr könnt mir helfen.
-
Wofür brauchst Du den Parameter denn? Du kannst doch die Daten eines abgeleiteten Dialogs (CMyDialog) beliebig manipulieren.
-
Naja weil ich das aus WinApi so gewohnt war. Da hat man halt DialogBoxParam aufgerufen um dem Dialog Daten zu übergeben.
Weis ja nicht genau wie das "normalerweise" in MFC gelöst wird.
meinst du denn ich hab ein public Member in meiner Klasse und mach dann folgendes.DialogNewRoute NewRoute; NewRoute.m_whatelse = whatelse; NewRoute.DoModal();Danke
-
Genau so geht das.
-
Gehen tut das zwar, aber guter Stil ist es nicht.
Besser:
DialogNewRoute NewRoute; NewRoute.SetWhatElse(whatelse); NewRoute.DoModal();oder 'whatelse' gleich im Konstruktor des abgeleiteten Dialoges mitgeben:
DialogNewRoute NewRoute(whatelse); NewRoute.DoModal();
-
oder den operator= ueberladen
DialogNewRoute NewRoute; NewRoute = whatelse; NewRoute.DoModal();