用mfc做的滑动条要控制内容滚动,现只有滑动条滚动内容不动,问题出在哪里?

voidCMainWindow::OnVScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar){//TODO:Addyour... void CMainWindow::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default

int TempPos = pScrollBar->GetScrollPos();
switch(nSBCode)
{
case SB_THUMBPOSITION://拖动滑块
pScrollBar->SetScrollPos(nPos);
break;
case SB_LINELEFT://点击左边的箭头
if(TempPos > 1)
{
TempPos--;
}
pScrollBar->SetScrollPos(TempPos);
break;
case SB_LINERIGHT://点击右边的箭头
if(TempPos<100)
{
TempPos++;
}
pScrollBar->SetScrollPos(TempPos);
break;
}

CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CMainWindow::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
int TempPos = pScrollBar->GetScrollPos();
switch(nSBCode)
{
case SB_THUMBPOSITION://拖动滑块
pScrollBar->SetScrollPos(nPos);
break;
case SB_LINELEFT://点击左边的箭头
if(TempPos > 1)
{
TempPos--;
}
pScrollBar->SetScrollPos(TempPos);
break;
case SB_LINERIGHT://点击右边的箭头
if(TempPos<100)
{
TempPos++;
}
pScrollBar->SetScrollPos(TempPos);
break;
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
以上是代码
展开
 我来答
任明星Ming
2013-08-20 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1146万
展开全部
你的滚动条的滚动消息和父窗口,关联上了吗?如果没有关联上,那当然不会滚动了。
请断点调试一下,当你点击滚动条进行滚动时,会不会触发窗口的OnHScroll和OnVScroll这两个消息。
更多追问追答
追问
你好,能给具体指导下吗?我是菜鸟级别的,跪谢
追答
有两个问题需要确认:1. 你的滚动条是你自己创建的吗?2.当你点击滚动条进行滚动时,窗口有没有收到OnHScroll和OnVScroll这两个消息。

如果滚动条是你自己创建的,需要自己手动向指定的窗口发送滚动消息:
// 发送垂直滚动消息给父窗口,但需要自己计算滚动的范围nPos。
SendMessage(父窗口句柄, WM_VSCROLL,MAKEWPARAM( SB_THUMBPOSITION, nPos ), ( LPARAM ) 滚动条本身窗口句柄);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式