我正在编写一个使用CSliderCtrl
类控制滑块的MFC应用程序。我的消息映射中有ON_WM_HSCROLL()
消息,但这是由于以下问题而引起的:当窗口太小时,这会禁用显示在视图底部的默认窗口滚动条。操作它对窗口没有任何作用。为了保留该滚动条中的功能,我该怎么办?
当前,我的OnHScroll()
函数看起来像:
void myClass::OnHScroll(UINT nSHCode, UINT nPos, CScrollBar* pScrollBar)
{
if (*pScrollBar == mySlider)
{
// do stuff
}
}
答案 0 :(得分:1)
您仍然需要调用基类/父类中定义的默认处理程序:如果是对话框窗口,则为CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
;如果是SDI / MDI视图,则为CFormView::OnHScroll(nSBCode, nPos, pScrollBar);
。
因此您的处理程序将如下所示:
void myClass::OnHScroll(UINT nSHCode, UINT nPos, CScrollBar* pScrollBar)
{
if (*pScrollBar == mySlider)
{
// do stuff
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar)
}