wxwidgets UI更新:声明窗口标识符

时间:2013-10-31 07:04:06

标签: c++ events user-interface wxwidgets

WXWIDGET UI UPDATE / DYNAMIC EVAND处理问题

目前正在使用:wxwidgets 2.8.12 GCC 4.6.2 [mingw]

我在为wxListCtrl进行UI更新时遇到问题。

wxListCtrl类的构造函数中的wxFrame定义为

wxListCtrl* listbox = new wxListCtrl(this, ID_LIST, wxDefaultPosition, wxSize(400,400), wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_HRULES|wxLC_VRULES);

我需要在不同的wxListCtrl成员函数中更新/插入wxFrame的值。

我是这样做的:

void MyFrame::test()
{
    wxListCtrl* listbox = (wxListCtrl*) FindWindow(ID_LIST);
    listbox -> InsertItem(0, "1");  
    listbox -> SetItem(0, 1, "test");
}

执行此操作后,我意识到需要声明ID_LIST,我不确定如何完成。

另外作为参考,我确实查找了wxwidget book,他们确实尝试举例,但我无法理解。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

每次想要对窗口小部件执行某些操作时,不是调用FindWindow,而是通常将指针存储到类中的窗口小部件。

// in class definition
wxListCtrl * mylistbox 

// in constructor
mylistbox = new wxListCtrl(this, ID_LIST, ...

// in test method    
mylistbox -> InsertItem(0, "1");