SetDlgItemText in einen anderen Dialog??



  • hi,

    bin wieder mal am verzweifeln..

    ich öffne in meinem Dialog einen anderen Dialog, und in dem anderen Dialog
    wieder einen Dialog. In meinem ersten Dialog habe ich ein Textfeld
    welches ich vom dritten Dialog mit Text füllen will.

    Im ersten Dialog habe ich einen Butten

    void CErsterDlg::OnButton3() 
    {
    	CString test = "Test";
    	SetDlgItemText(IDC_TEXTFELD, test );	
    	MessageBox(test);
    }
    

    wenn ich nun im ersten Dialog auf den Butten drücke wird der Text "Test" auch in mein Textfeld eingetragen. Wenn ich nun von meinem dritten Dialog auf die
    Funktion

    CErsterDlg::OnButton3()
    

    mit

    ((CErsterDlg*)GetParent())->OnButton3();
    

    zugreife, wird mir auch die MessageBox("Test") aus der Funktion

    CErsterDlg::OnButton3
    

    angezeigt, aber der Text wird nicht in meinem Textfeld eingefügt.

    Dann habe ich versucht direkt von dritten Dialog den Text in mein Textfeld mit

    ((CErsterDlg*)GetParent())->SetDlgItemText(IDC_TEXTFELD, test );
    

    einzutragen, aber das funktioniert auch nicht...

    Wo ist mein Denkfehler??

    Ich habe schon viel über friend Class gelesen, aber ich kapier es leider nicht..

    Ich wäre wie immer über eure Hilfe sehr dankbar

    asmodia



  • ööhm updatedata(true) vergessen ?



  • Danke, aber daran liegt es nicht..

    Wenn ich den Butten "OnButton3()" im ersten Dialog drücke,
    wird der Text ja auch im Textfeld eingefügt.. nur nicht wenn
    ich die Funktion von meinem dritten Dialog ausführe.

    Ich erhalte aber auch keinen Fehler, und die MessageBox wird mir auch
    angezeigt, was ja bedeutet das die Funktion ausgeführt wird.

    Nur nicht richtig. Ich vernmute das der Zeiger nicht wieder auf meinen ersten Dialog zeigt, aber dann müsste meine Anwedung doch abstürzen...

    Hat sonst noch jemand von euch eine Idee??



  • hi,
    sorry, aber ich glaube ich habe den Fehler selbst gefunden 🙄

    den letzten Dialog habe ich modal geöffnet, wodurch es wohl die Probleme
    gab.

    Vielen Dank für eure Mühe

    asmodia


Anmelden zum Antworten