【发布时间】:2014-06-20 11:00:09
【问题描述】:
我有 wxWidget 应用程序并创建了一个滚动窗口
wxScrolledWindow *pScrollingBucket = new wxScrolledWindow(this, wxID_ANY);
wxPanel* pPanel1 = new wxPanel(pScrollingBucket , wxID_ANY);
wxPanel* pPanel2 = new wxPanel(pScrollingBucket , wxID_ANY);
wxBoxSizer* pSizerHorz = new wxBoxSizer(wxHORIZONTAL);
pSizerHorz->Add(pPanel1 , 1, wxGROW|wxALL, 0);
pSizerHorz->Add(pPanel2 , 1, wxGROW|wxALL, 0);
pScrollingBucket->SetSizer(pSizerHorz);
pScrollingBucket->FitInside();
pScrollingBucket->SetScrollRate(3, 0);
一切都按预期工作。在全屏上没有滚动,当我调整到小尺寸时,滚动正在到来,并获取主窗口的 OnSize() 事件处理程序。在 Onsize() 我想检测滚动条是否可见。 也接受任何有关普通 Win32 API 的帮助。
不建议使用 HasScrollbar(),它只告诉窗口是否有 wxHSCROLL 创建标志。
【问题讨论】:
-
是否可以从
wxScrolledWindow派生并覆盖wxWindow::SetScrollbar()?您可以检测到滚动条何时打开和关闭。