你重载对话框中的WM_VSCROLL事件试试
解决方案 »
- 关于深入详解中 全局变量 theApp的问题
- DialogBoxParam怎么使用
- 遇到超出自己知识范围的难题,关于COM内存的问题
- 如何得知系统需要关机,先完成我的任务后再继续操作???
- 局域网中的主机的MIB库中信息更新到数据库中
- 我的Win2000 DDK怎么了
- 高分,请救急。我想自己写WlxDisplayStatusMessage函数,让Winlogon进程调用,但不是掉用msgina.dll的WlxDisplayStatusMessage函数,是自
- 请推荐网络编程方面的书籍
- 程序中如何开始新的进程后,新的进程不带走焦点。
- 关于全局hook的问题
- 哪位有DBGHELP.lib文件或下载地址?
- 救命呀,有个问题
virtual CScrollBar* GetScrollBarCtrl( int nBar ) const;Return ValueA sibling scroll-bar control, or NULL if none.ParametersnBarSpecifies the type of scroll bar. The parameter can take one of the following values: SB_HORZ Retrieves the position of the horizontal scroll bar.
SB_VERT Retrieves the position of the vertical scroll bar.
重载了,但是没有ID,怎么识别滚动条啊?
可以详细一点吗?谢谢!
通过pScrollBar就应该可以达到你的目标了吧
得到指针后不是要
if(pScrollBar->GetDlgCtrlID()==IDC_...){}
才能识别滚动条吗?没有ID怎么识别呢?
我也觉得不应该判断ID,可我没有判断ID时出错了啊....
或许要一个什么函数来识别滚动条吧,可惜我不知道,都看了n久的msdn了,还是没有找到^_^
{
int nCurrentPos=pScrollBar->GetScrollPos();
switch(nSBCode)
{
case SB_THUMBTRACK:
case SB_THUMBPOSITION:
pScrollBar->SetScrollPos(nPos);
break;
case SB_LINELEFT:
pScrollBar->SetScrollPos(nCurrentPos-1);
break;
case SB_LINERIGHT:
pScrollBar->SetScrollPos(nCurrentPos+1);
break;
case SB_PAGELEFT:
pScrollBar->SetScrollPos(nCurrentPos-5);
break;
case SB_PAGERIGHT:
pScrollBar->SetScrollPos(nCurrentPos+5);
break;
}
}
编译时没有错误,但运行程序时只要鼠标点击滚动条程序就会强行终止...
switch(nSBCode)
{
case SB_THUMBTRACK:
case SB_THUMBPOSITION:
this->SetScrollPos(SB_VERT,nPos);
break;
case SB_LINELEFT:
this->SetScrollPos(SB_VERT,nCurrentPos-1);
break;
case SB_LINERIGHT:
this->SetScrollPos(SB_VERT,nCurrentPos+1);
break;
case SB_PAGELEFT:
this->SetScrollPos(SB_VERT,nCurrentPos-5);
break;
case SB_PAGERIGHT:
this->SetScrollPos(SB_VERT,nCurrentPos+5);
break;
}
这样就可以了,你再试试啦