当非默认大小时,wxDataViewListCtrl显示不正确

时间:2014-04-02 13:28:04

标签: wxwidgets

wxDataViewListCtrl documentation

复制代码
wxDataViewListCtrl *listctrl = new wxDataViewListCtrl( myPanel, wxID_ANY );
listctrl->AppendToggleColumn( "Toggle" );
listctrl->AppendTextColumn( "Text" );
wxVector<wxVariant> data;
data.push_back( wxVariant(true) );
data.push_back( wxVariant("row 1") );
listctrl->AppendItem( data );
data.clear();data.push_back( wxVariant(false) );
data.push_back( wxVariant("row 3") );
listctrl->AppendItem( data );

产生合理的结果

enter image description here

现在我想让控件更大,然后向下轻微向右移动。所以我将对构造函数的调用更改为

wxDataViewListCtrl *listctrl = new wxDataViewListCtrl( myPanel, wxID_ANY
    ,wxPoint(10,10),wxSize(200,100) );

结果是控制框调整大小并正确移动,但内容消失

enter image description here

使用codeblocks和mingw g ++构建的wxWidgets v3.0.0

1 个答案:

答案 0 :(得分:0)

找到解决方法:在追加项目后调用setSize

wxDataViewListCtrl *listctrl = new wxDataViewListCtrl( myPanel, wxID_ANY );
... append items ...
 listctrl->SetSize(200,100);