目前做的是一个简单的示例,以后用到了再深入研究。敬请谅解
#include
#include
class Simple:public wxFrame
{
public:
Simple(const wxString& title);
protected:
};
Simple::Simple(const wxString& title)
:wxFrame(NULL,-1,title)
{
wxImage::AddHandler(new wxPNGHandler);
wxImageList* ilListCtrl = new wxImageList(16,16);
ilListCtrl->Add(wxBitmap("add.png",wxBITMAP_TYPE_PNG));
ilListCtrl->Add(wxBitmap("edit.png",wxBITMAP_TYPE_PNG));
ilListCtrl->Add(wxBitmap("del.png",wxBITMAP_TYPE_PNG));
ilListCtrl->Add(wxBitmap("save.png",wxBITMAP_TYPE_PNG));
wxListCtrl* lcData = new wxListCtrl(this,-1,wxPoint(-1,-1),wxSize(-1,-1)
,wxLC_HRULES|wxLC_REPORT|wxLC_VRULES);
lcData->SetImageList(ilListCtrl,wxIMAGE_LIST_SMALL);//设置图标列表
wxListItem colID;
colID.SetId(0);//必须设置
colID.SetText(wxT("ID"));
colID.SetWidth(100);//列宽
colID.SetAlign(wxLIST_FORMAT_CENTER);
lcData->InsertColumn(0,colID);
wxListItem colName;
colName.SetId(1);
colName.SetText(wxT("名称"));
colName.SetAlign(wxLIST_FORMAT_CENTER);
colName.SetData(1);
lcData->InsertColumn(1,colName);
long index;
index = lcData->InsertItem(colID);
lcData->SetItem(index,1,wxT("名称1"),0);//此处设置的名称的图标
lcData->SetItemImage(index,1);//此处设置的行首图标
index = lcData->InsertItem(colName);
lcData->SetItem(index,1,wxT("名称2"),3);
lcData->SetItemImage(index,2);
Centre();
}
以下摘自官方文档
此类支持以下样式:
wxLC_REPORT
。换句话说,与 wxListBox不同,列表会自动换 行。
wxLC_REPORT
.
以下事件处理程序宏将事件重定向到成员函数处理程序“ func ”,其原型如下:
此类发出的事件的事件宏:
wxEVT_LIST_BEGIN_DRAG
事件类型。
wxEVT_LIST_BEGIN_RDRAG
事件类型。
wxEVT_LIST_BEGIN_LABEL_EDIT
事件类型。
wxEVT_LIST_END_LABEL_EDIT
事件类型。
wxEVT_LIST_DELETE_ITEM
事件类型。
wxEVT_LIST_DELETE_ALL_ITEMS
事件类型。
wxEVT_LIST_ITEM_SELECTED
事件类型。
wxEVT_LIST_ITEM_DESELECTED
事件类型。
wxEVT_LIST_ITEM_ACTIVATED
事件类型。
wxEVT_LIST_ITEM_FOCUSED
事件类型。
wxEVT_LIST_ITEM_MIDDLE_CLICK
事件类型。
wxEVT_LIST_ITEM_RIGHT_CLICK
事件类型。
wxEVT_LIST_KEY_DOWN
事件类型。
wxEVT_LIST_INSERT_ITEM
事件类型。
wxEVT_LIST_COL_CLICK
事件类型。
wxEVT_LIST_COL_RIGHT_CLICK
事件类型。
wxEVT_LIST_COL_BEGIN_DRAG
事件类型。
wxEVT_LIST_COL_DRAGGING
事件类型。
wxEVT_LIST_COL_END_DRAG
事件类型。
wxEVT_LIST_CACHE_HINT
事件类型。