wxWidgets: stdout in Memo-Fenster umleiten



  • Hallo,
    ich benutze wxWidgets unter Windows. Ich habe eine Funktion die mir einige Ausgaben für den Benutzer per "cout <<" ausgibt. In einer Konsolenversion werden diese ja einfach in dem Konsolenfenster ausgegeben.
    Jetzt habe ich mir mit wxWindows eine GUI für diese Funktion erstellt, nun sollen diese Ausgaben wenn möglich in ein Memo-Feld (wxTxtCtrl) ausgegeben werden.
    Muss ich meine Funktionen dementsprechend anpassen, oder lässt sich die Standardausgabe irgendwie in dieses Feld umleiten?

    Danke und Gruß
    Thomas


  • Mod



  • Scheint eigentlich das zu sein was ich benötige, aber wenn ich das Programm starte stürzt es bei mir ab. Wenn ich die cout-Zeile auskommentiere geht es.
    In der CreateGUIControls habe ich folgendes eingetragen:

    wxTextCtrl *WxLog = new wxTextCtrl(WxPanel1, ID_WXLOG, wxT(""), wxPoint(8,224), wxSize(297,97), wxVSCROLL | wxTE_READONLY | wxTE_MULTILINE, wxDefaultValidator, wxT("WxLog"));
    wxStreamToTextRedirector redirect(WxLog);
    cout << "Test" << endl;
    

    nach dem Einbinden der Header habe ich noch ein
    using namespace std;
    eingefügt, und in den setup.h Dateien wxUSE_STD_IOSTREAM auf 1 gesetzt.
    Sollte doch eigentlich funktionieren oder?


  • Mod

    imho musst du wxWidgets neukompilieren, damit die Settings in der setup.h übernommen werden, diese
    muss dafür aber auch am korrekten Ort liegen. Habe allerdings die Klasse selber noch nie gebraucht...


Anmelden zum Antworten