首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxNotebook -页面更改时的内部wxPanel调用方法

wxNotebook -页面更改时的内部wxPanel调用方法
EN

Stack Overflow用户
提问于 2020-12-20 18:34:04
回答 1查看 107关注 0票数 0

我有wxNotebook和几个wxNotebookPage。每个页面都有从wxPanel继承的不同内容。当活动页被更改时,会从wxPanel调用什么方法?如果我更改面板,我想更新面板内容。

我有类似的功能绑定到调整大小的事件,这是可行的。

代码语言:javascript
复制
void MyPanel::Init() {
     this->Bind(wxEVT_SIZE, &MyPanel::OnResize, this);
}

void MyPanel::OnResize(wxSizeEvent& ev){
    //do something to update panel
}

注意:这是C++代码,但是编程语言并不重要(可以是Python)。我将更新解决方案,我只需要相同的逻辑或wxWidget API调用。

EN

回答 1

Stack Overflow用户

发布于 2020-12-20 19:39:41

当活动页被更改时,会从wxPanel调用什么方法?

面板上没有调用任何方法。相反,一个页面更改事件被发送到笔记本控件。可以为此事件设置处理程序,类似于如何为面板上的大小事件设置处理程序。通常这是在框架的构造函数中完成的,如下所示:

代码语言:javascript
复制
MyFrame::MyFrame(...):wxFrame(...)
{
...
    <notebookobject>->Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, &MyFrame::OnPageChanged, this);
...
}

...

void MyFrame::OnPageChanged(wxBookCtrlEvent& event)
{
    // do something in response to the page change here.
}

还有一个页面更改事件是在页面实际更改之前发送的。页面更改事件有一个额外的特性,如果您想不允许页面被更改,您可以在页面更改处理程序中对事件对象调用event ()。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65383407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档