Visual C++ : 如何在视图类中直接获得对话格中的滚动条的消息? (50分)

  • 主题发起人 主题发起人 lixx
  • 开始时间 开始时间
L

lixx

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个对话条(从CDialogBar继承而来),在对话条中有几个滚动条,我想在视图中直接
截获其消息,该怎么办?
我试了几次都没有成功,只好采取了由滚动条向视图发送自定义消息的办法(相当于中转了一下)。
可这么做将来会很麻烦,因为在对话条不论想做什么,只要和视图有关都得自定义一个消息
再向视图发送。(这个方法实是在Ugly)
我想有一个简便的方法。请各位出出主意,实在不行,帮忙提一下。
 
在ON_WM_HSCROLL()或者ON_WM_VSCROLL()的虚函数里完成。
OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
剩下的例子可以看看MSDN
 
>kedyo
关键是在哪处理 ON_WM_HSCROLL()或者ON_WM_VSCROLL()??
在CMainFrame中? CMyappView中?
似乎拦截不到.
 
在View中
void CInfoView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if( pScrollBar == &m_CtrlScroll )
{
switch( nSBCode )
{
case SB_LINEDOWN:
{
break;
}
case SB_LINEUP:
{
break;
}
case SB_PAGEDOWN :
{
break;
}
case SB_PAGEUP:
{
break;
}
}
}
CView::OnVScroll(nSBCode, nPos, pScrollBar);
}
 
后退
顶部