Handling c++ wxWidgets EVT_MAXIMIZE macro

Handling c++ wxWidgets EVT_MAXIMIZE macro

本文关键字:MAXIMIZE macro EVT c++ wxWidgets Handling      更新时间:2023-10-16

我有一个(也许)简单的问题。我想在用户单击"最大化"之后调整程序窗口大小,因为我想将数据安装到窗口中,而不会留下"灰色补丁"(希望这确实有意义,因为我来自意大利我我'm不确定它是)。问题是,如果我尝试显示一条简单的消息,则不会显示出来。这是我认为您需要查看我的班级(CPP文件)

的代码。
void EBCFrame::OnMaximize(wxMaximizeEvent& event)
{
//    _window->Fit();
    wxMessageBox(_T("maximize test"));
}
// Event table for EBCFrame
BEGIN_EVENT_TABLE(EBCFrame, wxFrame)
    ...
    EVT_MAXIMIZE(EBCFrame::OnMaximize)
END_EVENT_TABLE()

这是标题文件

class EBCFrame : public wxFrame
{
    public:
        // Constructor
        EBCFrame(const wxString& title);
        // Event handlers
        .....
        void OnMaximize(wxMaximizeEvent& event);
    private:
        // This class handles events
        DECLARE_EVENT_TABLE()
        wxScrolledWindow* _window;
        ....
};

我深表歉意,如果您不够,您需要完整的代码;在这种情况下,我将在我再次阅读此问题时立即提供。谢谢您的支持!

从您的早期问题的代码来判断:wxwidgets:不能从wxlistctrl;

继承

您似乎正在使用不需要的wxlistctrl(wxlistctrl已经管理其内容的滚动)来使用wxscrolledwindow,如果是这样,请从您的代码中删除wxscolledwindow。

>

如果该WXListCtrl(EBCLIST)是框架中唯一的客户端窗口(EBCFRAME),则WXWIDGETS将自动尺寸。

同时,如果您在框架中添加了更多小部件,则可能需要查看Sizer类以组成布局(例如WXBoxSizer)。