• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

有什么办法可以使窗口改变大小时不闪烁吗?

In355Hz 2000-12-24 05:08:00
我作了一个控件,在一个父窗口下放了一个CScrollBar作为Child,在父窗口中通过拖动改变CScrollBar的大小(用SetWindowPos),当CScrollBar改变大小时闪烁的很厉害,但是只要注意一下VC界面上的OutPut窗口底部的 CScrollBar就可以发现它改变大小是不闪烁的,Excel界面底部的CScrollBar也这样,我用Spy++看了一下style(WS_与CS_),与我建的CScrollBar一样,为什么效果不一样?
我想应该不用自己重载CScrollBar类,用MemDc保存ScrollBar的位图吧!
...全文
269 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
In355Hz 2001-01-07
问题解决!是重载父窗口的WM_ERASEBKGND不填充ScrollBar区域实现的,谢谢各位了,来者有分!
回复
In355Hz 2001-01-06
啊!!!!这个我看着不象,从没试过。
回复
eyeblue 2001-01-06
就是 CScrollBar::SetScrollPos
回复
In355Hz 2001-01-06
我试过了,和你说的一样,但没效果。
回复
witsoft2000 2001-01-06
重载WM_ERASEBKGND,什么也不做只返回TRUE,在ONPAINT 或 ONDRAW 里进行重画
回复
In355Hz 2001-01-06
最新消息!我试了一下:
重载WM_ERASEBKGND无效!仍然闪烁。
CScrollBar中也没有发现相应函数,SetScrollInfo,SetScrollRange都不行。麻烦lhxx为小弟指明。
我加分!望大家支持!
回复
Jamebo 2000-12-30
处理系统的WM_ERASEBKGND消息,并返回1.
具体可以看MSDN
回复
In355Hz 2000-12-30
to lhxx:
对不起,考试复习一星期没上网,直到现在才看回复,我现在就去试一试。
回复
随风bj 2000-12-24
你真是早啊,呵呵
不要用SetWindowsPos,而是调用CScrollBar的相应的函数就可以了(Set..(),具体你查查MSDN)
回复
In355Hz 2000-12-24
好象太早了点,大家都在睡觉......
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2000-12-24 05:08
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……