vc 为VIEW添加滚动条

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:18:09
为视图添加水平滚动条。create后滚动条却并没有显示。

希望点击滚动条后,当前视图位置不改变,只改变一些显示的细节内容。哪位大侠知道该怎么做,希望不吝赐教。不胜感激!

环境是MFC。最好能提供原码~

第一个问题:好像默认视图大于文档窗口就会出现滚动条,是不是你自己做了什么设置啊?

第二个问题:响应OnScroll(),在里进行你想要的调整,最后return 0;告诉程序不要处理滚动消息,就行了

滚动条必须处理-_-!(不能偷懒)如下↓:
SetScrollRange(hDlg,SB_VERT,0,40,FALSE); // 多少行
SetScrollPos(hDlg, SB_VERT,0,TRUE); //起点行

其实就一个CASE
case WM_VSCROLL:
{
switch(LOWORD(wParam))
{
case SB_LINEDOWN: //通知码
nVScrollPos ++; //向下
break;
case SB_LINEUP:
nVScrollPos --;//向上
break;
}
if(nVScrollPos<0) // 。。。。。。。。。
nVScrollPos = 0;
else if(nVScrollPos>40)
nVScrollPos = 40;
SCROLLINFO si; // 又一结构体

===================================SCROLLINFO=====================================
typedef struct tagSCROLLINFO {
UINT cbSize; -- Specifies the size, in bytes, of this structure.
UINT fMask; -- Specifies the scroll bar parameters to set or retrieve(有6个参数类型)
int nMin; -- Specifies the minimum scrolling position
int nMax; -- Specifies t