wxWidgets: Hintergrundsbild hinzufügen & WxTextCtrl in Zeichenkette speichern



  • Hallo,

    ich habe im Internet und in meinen Buch schon gesucht, aber noch nichts gefunden. Ich verstehe nicht, wie ich denn wxTextCtrl Inhalt in eine Zeichenkette speichern soll. Ich bin so weit:

    #include <wx/wx.h>
    #include "base.h"
    
    IMPLEMENT_APP(TestApp)
    bool TestApp::OnInit() {
    	BasicFrame *frame = new BasicFrame( wxT("Test"), 50, 50, 450, 300);
    	frame->Show(TRUE);
    	SetTopWindow(frame);
    	return TRUE;
    }
    
    BasicFrame::BasicFrame (const wxChar *title, int xpos, int ypos, int width, int height)
    : wxFrame ( (wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height)) {
    panel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize(200,100) );
    Button1 = new wxButton( panel, ID_BUTTON, wxT("Klick hier"), wxPoint(10,80), wxDefaultSize );
    TextCtrl1 = new wxTextCtrl( panel, ID_TEXT, wxT(" "), wxPoint(30,80), wxDefaultSize);	
    panel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize(200,100) );				
    }
    BasicFrame::~BasicFrame() {}
    
    BEGIN_EVENT_TABLE(BasicFrame, wxFrame)
    EVT_BUTTON(ID_BUTTON, BasicFrame::OnButton)
    END_EVENT_TABLE()
    
    void BasicFrame::OnButton(wxCommandEvent &event) {
    //????????????????????????????????????????????
    }}
    

    Und ie Header-Datei base.h :

    #ifndef BASIC_H
    #define BASIC_H
    
    class TestApp : public wxApp {
    public: virtual bool OnInit();
    };
    
    class BasicFrame : public wxFrame {
    private:
    	wxPanel* panel;
    	wxButton* Button1;
    	wxTextCtrl* TextCtrl1;
    	enum {
    		ID_FSTART };
    public: 
    	BasicFrame( const wxChar *title, int xpos, int ypos, int width, int height);
    	~BasicFrame();
    	void OnButton(wxCommandEvent &event);
    protected:
    DECLARE_EVENT_TABLE()
    };
    #endif
    

    Wenn man auf den Button klickt soll der Inhalt des Text-Ctrl in die Zeichenkette "DerText" eingefügt werden. Ich glube es geht irgendwie mit

    TextCtrl->GetValue()
    

    . Ich weiß aber nicht genau wie.

    Ich habe noch eine Frage und zwar wie kann man ein Hintergrundsbild hinzufügen?

    Schon mal Danke für alle Antworten. 😕


  • Mod

    wxString DerText = TextCtrl->GetValue();
    

    So?



  • Danke, für die schnelle Antwort. Ich hatte es so probiert:

    TextCtrl = GetValue()
    

    aber jetzt weiß ich dank dir das es so geht:

    phlox81 schrieb:

    wxString DerText = TextCtrl->GetValue();
    

    Ich werde es gleich ausprobieren.

    Aber weiß jemand, wie/ob man ein Hintergrundsbild hinzufügen kann?

    Vielen Dank!!!! 💡



  • Hallo,

    wie fügt man ein Hintergrunsbild hinzu, statt diesem Grau?


  • Mod

    Dafür müsstest du wohl OnPaint bzw. OnPaintBackground überladen afaik.
    Musst du dir mal die Doku von wxFrame/wxDialog genauer ansehen.



  • Danke.
    Das werde ich gleich machen.

    Vielen Dank. 👍


Anmelden zum Antworten