我有一基于CScrollView的MyView, 当显示的文本较多时,下拉滚动条数度快时,会自动弹到顶端,如何解决 这个问题以前发过帖子,可惜链不上了,知道的人帮忙回答一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我调试了一下,发现原因如下:windows发送过来的消息用 short 来定义 nPos 参数, 所以 nPos一旦大于 32768时, 发送过来的 nPos = 0xffff????, 溢出后回到 0知道原因了,还是不知如何修改是好 对啊我用好多的软件用力拉滚动条也是弹回去不知道什么原因呵呵也许是windows的自身缺陷吧我瞎说的 MFC 指明滚动条范围不能超过 32768, 但CScrollView中调用SetScrollSize()时,同时设置了工作区大小和滚动条范围, 工作区高度和滚动区范围相同,而文件稍大,工作区高度显然要超过 32768。滚动条滚动时,除了拖动,其他方式都不使用 nPos参数,因此除了拖动操作外,其他滚动操作都正常。我现在试着将滚动条的范围设置在派生类中分离出来,有一些问题。如果使用CView类,自己加入滚动操作可以避免这个问题,又要改,太累。CodeGuru上有一个 CBigScrollView 类,看了一下,好像没有处理拖动操作。确实不想在这个问题上花太多时间,那位做过这方面的工作,Help。 重载OnVScroll函数,使用 GetScrollInfo()获取nPos的32位数值, 以下代码不完整,应该只处理SB_THUMBTRACK 和 SB_THUMBPOSITION void CXXXView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { SCROLLINFO ScrollInfo; GetScrollInfo(SB_VERT, &ScrollInfo, SIF_TRACKPOS); nPos = ScrollInfo.nTrackPos; CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);} 对话框的背景加载一张半透明的bmp//对话框就半透明了吗? 如何点击任务栏实现无标题栏窗口的最小化与恢复 关于MessageBox的一个问题 VC++6.0使用ADO连接数据库做登陆界面的问题,请帮忙 关于HDN消息和CListCtrl控件 到底给哪个? 请问在VC中,有没有其他函数能像OnTimer一样可以自己在后台循环执行 各位大虾帮我,stack模板在vc++中怎么用?好象vc++不符合c++标准? 线程的问题 希望作过windows ce下的vc开发的朋友和我联系! CHtmlView的使用 我的多线程程序不能运行,请高手帮我看看!
我用好多的软件
用力拉滚动条
也是弹回去
不知道什么原因
呵呵
也许是windows的自身缺陷吧
我瞎说的
SB_THUMBTRACK 和 SB_THUMBPOSITION void CXXXView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
SCROLLINFO ScrollInfo;
GetScrollInfo(SB_VERT, &ScrollInfo, SIF_TRACKPOS);
nPos = ScrollInfo.nTrackPos; CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
}