Untitled
unknown
plain_text
a year ago
2.1 kB
13
Indexable
// require: libwxgtk3.0-gtk3-dev
// compile: g++ ./wxtest.cpp $(wx-config --cppflags) $(wx-config --libs core,base) -o ./wxtestx
#include "wx/wxprec.h"
#include <wx/graphics.h>
#include <wx/wx.h>
#include <wx/clipbrd.h>
class HelloWorldApp : public wxApp
{
wxFrame *_frame;
public:
virtual bool OnInit();
};
DECLARE_APP(HelloWorldApp)
IMPLEMENT_APP(HelloWorldApp)
///////////////
enum
{
BUTTON_Hello = wxID_HIGHEST + 1 // declares an id which will be used to call our button
};
class MainFrame: public wxFrame // MainFrame is the class for our window,
{
wxTextCtrl *_text = nullptr;
wxButton *_btn = nullptr;
public:
MainFrame( const wxString &title, const wxPoint &pos, const wxSize &size )
: wxFrame(NULL, wxID_ANY, title, pos, size)
{
_text = new wxTextCtrl( this, wxID_ANY, "abcdefghijklmnopqrstuvw", wxPoint(0, 0), wxSize(780, 50), wxTE_MULTILINE );
_btn = new wxButton(this, BUTTON_Hello, _T("Hello World"), wxPoint(0, 100), wxSize(780, 50), 0);
}
void OnButton( wxCommandEvent& event )
{
if (wxTheClipboard->Open())
{
fprintf(stderr, "!!!! OPEN FOR GET\n");
if (wxTheClipboard->IsSupported( wxDF_TEXT ))
{
wxTextDataObject data;
wxTheClipboard->GetData( data );
const wxString &wx_str = data.GetText();
fprintf(stderr, "!!!! GOT: '%ls'\n", wx_str.wc_str());
}
wxTheClipboard->Close();
}
if (wxTheClipboard->Open()) {
fprintf(stderr, "!!!! OPEN FOR SET\n");
wxTheClipboard->Clear();
wxTheClipboard->SetData(new wxTextDataObject("1234567890"));
wxTheClipboard->Flush();
wxTheClipboard->Close();
fprintf(stderr, "!!!! SET DONE\n");
}
}
wxDECLARE_EVENT_TABLE();
};
wxBEGIN_EVENT_TABLE(MainFrame, wxFrame)
EVT_BUTTON ( BUTTON_Hello, MainFrame::OnButton ) // Tell the OS to run MainFrame::OnExit when
wxEND_EVENT_TABLE()
// This is executed upon startup, like 'main()' in non-wxWidgets programs.
bool HelloWorldApp::OnInit()
{
_frame = new MainFrame(_("Clipboard test"), wxDefaultPosition, wxSize(800, 600));
_frame->Show(true);
SetTopWindow(_frame);
return true;
}
Editor is loading...
Leave a Comment