在下写了个滚动条初始化函数如下
if(m_hScreen<=0)return
CGeDrwDoc *pDoc=GetDocument();
int nH=(int)(pDoc->m_DocSz.cy*m_dWldToScrn-m_hScreen);
m_nVSMax=max(0,nH/m_nSclMin);
if(m_hScreen)m_nVS1Pg=m_hScreen/m_nSclMin; SCROLLINFO ScrlInfo;
ScrlInfo.fMask = SIF_ALL;
ScrlInfo.nPos=m_nVSPos;
ScrlInfo.nMin=0;
ScrlInfo.nMax=m_nVSMax;
ScrlInfo.nPage=m_nVS1Pg;
::SetScrollInfo(m_hWnd,SB_VERT,&ScrlInfo,true);然后在滚动处理函数OnVScroll中有相应的处理函数,但是从滚动现象上看,还没有滚到最大的范围时候,滚动滑条显示已经到头了,(即m_nVSPos<m_nVSMax时候,滚动滑条已经滚到底部了)大家看看这是什么地方没有弄好!
if(m_hScreen<=0)return
CGeDrwDoc *pDoc=GetDocument();
int nH=(int)(pDoc->m_DocSz.cy*m_dWldToScrn-m_hScreen);
m_nVSMax=max(0,nH/m_nSclMin);
if(m_hScreen)m_nVS1Pg=m_hScreen/m_nSclMin; SCROLLINFO ScrlInfo;
ScrlInfo.fMask = SIF_ALL;
ScrlInfo.nPos=m_nVSPos;
ScrlInfo.nMin=0;
ScrlInfo.nMax=m_nVSMax;
ScrlInfo.nPage=m_nVS1Pg;
::SetScrollInfo(m_hWnd,SB_VERT,&ScrlInfo,true);然后在滚动处理函数OnVScroll中有相应的处理函数,但是从滚动现象上看,还没有滚到最大的范围时候,滚动滑条显示已经到头了,(即m_nVSPos<m_nVSMax时候,滚动滑条已经滚到底部了)大家看看这是什么地方没有弄好!
解决方案 »
- mfc鼠标被隐藏的问题
- 自绘列表控件
- MFC窗体最大化后怎么挡住了开始菜单?如何显示下面的开始菜单?
- 求助:调试的问题
- vc使用sql2000数据库,请问:代码绑定datagrid控件如何实现?
- 怎么用directx创建一个子窗口,就象大话西游里面的窗口一样,可以用鼠标移动等。谢谢啦!·!
- 各位兄弟,我想问一下用程序实现,在打开的网页指定位置输入自己所需要的内容,,小弟谢谢了
- ★★★★国庆节快乐!!!★★★★顺便问问工作的事情!大家也说说自己的工作!
- 碰到线程内存申请奇怪问题。
- char* s=0 ? 福兮:祸兮!
- 依据这些调试信息可以怎样看出在哪里内存泄露吗?
- 怎么把Dialog的背景改成BMP,UP有分,分不够在给):
所以m_nVSPos的最大值是m_nVSMax-m_nVSlPg
所以修改为
ScrlInfo.nMax=m_nVSMax+m_nVSlPg;就解决问题了
谢谢各位,揭帖