我做一个基于对话框的mfc程序,在OnPaint()里贴一张位图于对话框上,但是刷新后发现,我放在对话框上的按钮等控件就常常显示不出来,该怎

soarfei 2002-05-07 11:22:13
谢谢
...全文
66 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yu_hl 2002-05-07
在classview中那个类上点右键,添加event hander...
回复
soarfei 2002-05-07
怎么添加,是仿照CView里的MFC映射的OnEraseBkgnd(CDC* pDC) ,
还是像自定义消息那样添加?
谢谢
回复
kenvin 2002-05-07
我也出现过这样的错呀!
重载OnErasebkGround()函数就好用了,你试试。
回复
bigdoors 2002-05-07
找不到WM_ERASEBKGND,自己手工添加,反正CDialog是从CWnd继承来的。
回复
Koshima 2002-05-07
你是不是想把位图作为背景?
如果时的话,请用重载OnErasebkGround()函数(也就是WM_ERASEBKGND)。
谢谢!
回复
soarfei 2002-05-07
MFC的对话眶程序的消息里找不到WM_ERASEBKGND。
回复
soarfei 2002-05-07
确实是位图太大,把控件覆盖,可是要求的就是这样一个大的背景。
有什么好办法?
回复
pp_ipr 2002-05-07
你的位图是怎么添加的?建议用个static控件
回复
pp_ipr 2002-05-07
你的位图是怎么添加的,我建议用一个static控件添加,就不会出现你说的
问题
回复
bigdoors 2002-05-07
应在WM_ERASEBKGND消息函数里处理
回复
joy8223 2002-05-07
可能是位图太大了,把空件给覆盖了!
回复
qiuanhong 2002-05-07
呵呵~~~~~关注
回复
真糨糊 2002-05-07
这样就可以了。
在OnPaint()里
m_facebit->LoadBitmap(IDB_BITMAP1);
brush.CreatePatternBrush(m_facebit);
oldbrush=dc.SelectObject(&brush);
dc.Rectangle(&rect);
dc.SelectObject(oldbrush);
回复
soarfei 2002-05-07
按你们的说法做了,可我一点对话框,按钮等控件还是给覆盖,显示不出来,到底该怎么办?
回复
weblove 2002-05-07
很详细;了啊
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-07 11:22
社区公告

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