Eingabefeld in Registerkarte ansteuern
-
Hi,
nachdem vielen Feedback im ersten Post kommt gleich der Nächste:
ich habe das Projekt jetzt soweit am Laufen. Jetzt habe ich aber folgendes Problem mit Registerkarten:
Mein ganzes MFC-Programm ist ein Dialogfenster, welches neben einem Eingabefenster, einer Liste und mehreren IDC_Statics auch ein Tab-Element mit einem Ausgabefenster enthält.
Innerhalb des Dialogfensters ist die Ansteuerung der Membervariablen recht simple (klappt auch). Während ich Text ins 1. Eingabefenster eingebe, lasse ich es mir sofort mit OnChangeEingabe() ausgeben.
Doch wie kann ich gleichzeitg in der OnChangeEingabe() auf das AusgabeFenster
im Tab-Element zugreifen. Wenn ich was ins Eingabefenster eingebe, sollen sich beide Fenster aktualisieren.Da das Ausgabefenster in einem Dialog vom Typ CAusgabeTest (abgeleitet von CPropertyPage) ist und das MainWindow vom Typ CTestDlg (abgeleitet von CDialog) ist sind beides auch 2 unterschiedliche Klassen und so kann ich weder auf die Membervariable des Ausgabefensters noch auf den UpdateData Modus zugreifen, der die PropertyPage aktualisiert.
Habs schon so hier probiert:
CWnd* pStatic = GetDlgItem(IDC_Ausgabe); pStatic->SetWindowText(Eingabe_Formatiert);aber da gibts ständig nen fetten Absturz.
Habe mal nen Bild hochgeladen um mein Problem zu verdeutlichen.
http://mitglied.lycos.de/marcogremmer/Was mache ich da falsch.
Wenns gar nicht gehen sollte, dann werde ich das ganze Fenster in eine Registerseite packen. Nur so siehts einfach netter aus, da dann bei allen Registern immer alles gleich bleiben würde außer das Ausgabefenster.
CU

-
http://www.fun-soft.de/index.php?file=/forum/showtopic.php?threadid=1327
^da wird es erklärt...
Devil
-
Seit gegrüsst,
genau mit Hilfe dieser Seite habe ich die Registerkarten erstellt. Deshalb klappt es ja auch so gut

Schaue doch mal bitte auf den Link. Wie steuere ich das Ausgabefenster im Tab an. Das ist das was nicht klappt, da das Fenster eine andere Klasse (CAusgabeTest) ist als mein Hauptialog.
Mein Hauptdialog (CTestDlg) wird ständig durch eine OnChangeEingabe() void aktualisiert mit UpdateData().
Doch ich muss in dieser OnChangeEingabe() (die in CTestDlg) definiert ist, das Ausgabefenster ansteuern! Und das klappt nicht.
CU

-
Ganz einfach

Du erstellst ja eine Variable in der HauptTabklasse,
die vom Typ Cmytabdlg is, mach dir ne funktion in die
HauptTabklasse, der du den text übergibst, dort rufst
du dann die dlg Klasse auf, und füllst die Editbox...Hm, hab gerade gesehen das das net so einfach ist...
Da ja dort über Polymorphismus gearbeitet wird...
versuchs mal so, das du eine Variable der Klasse hinzufügst,
die vom Typ deiner TabDlg Klasse ist, und diese dann
dem Tab zuweist, dann hast du noch zugriff auf den Dialog...Devil
[ Dieser Beitrag wurde am 27.06.2003 um 21:26 Uhr von devil81 editiert. ]
-
Gut Gut, werds mal testen,
Danke
CU
