学习wxWidgets第5篇:wxTreeCtrl和wxImageList控件的使用

imagelist配合treeview是经常用到,为了不忘记,写个简单的例子。

目标:创建一个wxtreectrl和button,点击button,在tree控件的根节点下建一个子节点。

效果图如下:

 代码片断如下:

用到的头文件:
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/image.h>
#include <wx/treebase.h>
#include <wx/button.h>

定义的一些变量:
    private:
        enum
        {
            idButtonAdd=1010,
        };

        wxTreeCtrl* m_treectrl1;
        wxImageList* m_imagelist1;
        wxTreeItemId rootitemid;
        wxButton* m_button1;
        void OnClickAdd(wxCommandEvent& event);

CPP实现程序中的代码:


wxImage::AddHandler(new wxPNGHandler());
wxBoxSizer* bSizer1;
bSizer1 = new wxBoxSizer( wxVERTICAL );

m_imagelist1=new wxImageList(20,20,true,1);
m_imagelist1->Add(wxBitmap("PNG_CLASS",wxBITMAP_TYPE_PNG_RESOURCE));
m_imagelist1->Add(wxBitmap("PNG_SONG",wxBITMAP_TYPE_PNG_RESOURCE));
m_treectrl1=new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize,wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS);
m_treectrl1->AssignImageList(m_imagelist1);
rootitemid=m_treectrl1->AddRoot(_("所有分类和曲目"),0,0);
bSizer1->Add( m_treectrl1, 1, wxALL|wxEXPAND, 5 );

m_button1=new wxButton(this,idButtonAdd,_("add"),wxDefaultPosition,wxDefaultSize);
bSizer1->Add( m_button1, 0, wxALL, 5 );

this->SetSizer( bSizer1 );
this->Layout();
this->Centre( wxBOTH );

//增加函数

void testtreeFrame::OnClickAdd(wxCommandEvent &event)
{
    wxTreeItemId itemid=m_treectrl1->AppendItem(rootitemid,_("新建一个分类"),1,1);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值