我有一个(也许)简单的问题。我想在用户点击“最大化”后调整我的程序窗口的大小,因为我想让数据适合窗口,而不是留下“灰色补丁”(希望它确实有意义,哈哈,因为我来自意大利,我不确定它是否有意义)。问题是,如果我试图显示一条简单的消息,它不会出现。这是我的类(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;
....
};如果这还不够,您需要完整的代码,我向您道歉;在这种情况下,我将在再次阅读此问题时提供。谢谢您一直鼓励我!
发布于 2012-10-22 09:34:41
从你之前问题的代码来判断:wxWidgets: can't inherit from wxListCtrl;
您似乎正在为不需要的wxListCtrl使用wxScrolledWindow ( wxListCtrl已经管理其内容的滚动),如果是这种情况,请从代码中删除该wxScolledWindow。
如果wxListCtrl (EBCList)是框架(EBCFrame)中唯一客户端窗口,wxWidgets将自动调整其大小。
如果你同时在框架中添加了更多的窗口小部件,你可能需要查看sizer类来组成你的布局(例如wxBoxSizer)。
https://stackoverflow.com/questions/13003341
复制相似问题