用ScrollWindow函数处理WM_VSCROLL消息,在拖动滚动条的过程中一直有WM_PAINT消息产生,所以在拖动的过程中显示区域是不断刷新的;然而如果使用SetScrollPos和InvalidateRect处理的话就只在鼠标松开的时候才会有WM_PAINT消息。我想问,使用SetScrollPos和InvalidateRect处理的原理是怎样的,为什么会出现与ScrollWindow不同的效果,SetScrollPos能否实现即时刷新功能。还有,我是Windows7系统,装的VC6.0,自带的spy++不好用,运行的时候经常出现所有窗口一个接一个未响应的现象,不知道这样的情况是不是普遍的。滚动条ScrollWindowSetScrollPosUpdateWindow
解决方案 »
- 如何在OnReceive函数中改变主对话框的变量
- 关于覆盖安装的问题
- activex control中使用CWebBrowser控件的问题?
- 编程如何获得一个DLL中的所有导出函数名称
- 安装visual sourcesafe ddupd.exe失败?
- 请问atl做的activex控件怎样响应容器的mouse点击操作啊,我是老菜
- 菜鸟问题;;调用简单的dll出现下列错误
- 从书上看,打开*.def文件就可以看到dll文件的导出函数,我打开了一个*.def文件,哪位大侠能告诉我他的导出函数是什么?
- 请帮忙
- 使用ATL组件后,内存出错,请帮忙分析
- ctreectrl根节点有图标,子节点无图标
- 初学ADO技术,总是runtime error
The area uncovered by ScrollWindow is not repainted, but it is combined into the window's update region. The application eventually receives a WM_PAINT message notifying it that the region must be repainted. To repaint the uncovered area at the same time the scrolling is in action, call the UpdateWindow function immediately after calling ScrollWindow.
你用ScrollWindow用法可能有误。
我一般这么用,有一个WS_VSCROLL样式窗口,在它上面创建子窗口,然后scroll这个样式窗口。
而不是:有一个WS_VSCROLL样式窗口,直接Scroll这个窗口,这样会导致绘制的东西错位残留很严重。