wxWidgets之clipboard参照于sample.

#include "wx/wxprec.h"
#ifndef WX_PRECOMP
    #include "wx/wx.h"
#endif
#include "HelloWorldApp.h"
#include <tcl.h>
#include "wx/clipbrd.h"


enum
{
    ID_Quit   = wxID_EXIT,
    ID_About  = wxID_ABOUT,
    ID_Write  = 100,
    ID_Text   = 101
};
/* 程序从这里开始执行,类似非wxWindows程序中的main() */
class MyFrame : public wxFrame
{
public:
    MyFrame(const wxString& title);
    void OnWriteClipboardContents(wxCommandEvent&event);
private:
    wxTextCtrl        *m_textctrl;
    DECLARE_EVENT_TABLE()
};
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_BUTTON(ID_Write, MyFrame::OnWriteClipboardContents)
END_EVENT_TABLE()
IMPLEMENT_APP(HelloWorldApp)
bool HelloWorldApp::OnInit()
{
    if ( !wxApp::OnInit() )
        return false;

    MyFrame *frame = new MyFrame(L"wxClipboard sample");
    frame->Show(true);

    return true;
}

MyFrame::MyFrame(const wxString& title)
   : wxFrame(NULL, wxID_ANY, title)
{
    // set the frame icon
    SetIcon(wxICON(sample));
    wxPanel *panel = new wxPanel( this, -1 );

    wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
    main_sizer->Add( new wxButton( panel, ID_Write, L"Get clipboard text" ), 0, wxALL, 5 );
    m_textctrl = new wxTextCtrl( panel, ID_Text, L"", wxDefaultPosition,wxDefaultSize, wxTE_MULTILINE );
    main_sizer->Add( m_textctrl, 1, wxGROW );
    panel->SetSizer( main_sizer );
}
void MyFrame::OnWriteClipboardContents(wxCommandEvent& WXUNUSED(event))
{
   if (wxTheClipboard->Open())
   {
        if (wxTheClipboard->IsSupported( wxDF_UNICODETEXT ))
        {
            wxTextDataObject data;
            wxTheClipboard->GetData( data );
            m_textctrl->Clear();
            m_textctrl->SetValue( data.GetText() );

        }
        wxTheClipboard->Close();
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wxWidgets是一个开源的跨平台GUI编程工具包,它提供了丰富的组件和功能,可以帮助开发者快速、方便地开发跨平台的图形用户界面应用程序。 wxWidgets的主要特点有以下几点: 1. 跨平台支持:wxWidgets可以在多种操作系统上运行,包括Windows、Linux和macOS等。开发者只需要编写一份代码,就可以在不同的平台上编译和运行,大大提高了开发效率。 2. 强大的图形用户界面控件:wxWidgets提供了丰富的图形用户界面控件,包括按钮、文本框、列表框、菜单栏等等,开发者可以根据自己的需求选择合适的控件来构建用户界面。 3. 支持多种编程语言:wxWidgets可以使用多种编程语言进行开发,包括C++、Python、Perl等。开发者可以根据自己的喜好和熟悉程度选择合适的编程语言进行开发。 4. 良好的文档和社区支持:wxWidgets拥有完善的文档和教程,开发者可以快速上手并解决遇到的问题。此外,wxWidgets还有一个活跃的社区,开发者可以在社区中寻求帮助和交流经验。 5. 可定制性强:wxWidgets提供了丰富的定制选项,开发者可以根据自己的需求进行界面的定制和修改,使得应用程序更加符合自己的品牌和风格。 总之,wxWidgets是一个强大的跨平台GUI编程工具包,它可以帮助开发者快速、简便地开发跨平台的图形用户界面应用程序,并且具有丰富的功能和较高的定制性,适合各种类型的应用程序开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值