mfc中,我想把自己的图片显示在窗口中,一定要在wm_paint重绘中实现??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc中,我想把自己的图片显示在窗口中,一定要在wm_paint重绘中实现??相关的知识,希望对你有一定的参考价值。

用 biblt函数把图片弄进窗口,然后showwindow显示窗口,结果不行。

要弄个wm_paint,把biblt函数放入onpaint函数里才行,是这样么?

不一定,如果使用的DC是CClientDC就可以不必在onpaint函数。但重绘一般在
wm_paint
消息函数中。
参考技术A 如果是对话框功能,是自带OnPaint的。
如果你想画,需要获取对应对象的CDC,可以放到OnPaint里面,每次对话框响应WM_PAINT消息就会自动调用。
参考技术B 类似于clistttrl或者ctreectrl的控件,不止可以重绘整个窗口,也可以重绘单个的节点元素。drawitem可以更方便的对单个元素进行重绘,在paint里面你要绘制一个树很麻烦的 参考技术C 如果窗口还没有显示,bitblt放到哪个dc上的呢追问

调用的时候,不是 dc.bitblt()这样的么。bitblt放到哪个dc上的呢,这是什么意思是啊

追答

窗口还没有显示的时候,dc应该是无效的。你可以在窗口显示之后再绘制,不一定要在wm_paint里的。只是wm_paint里面会在窗口刷新(比如最小化之后再恢复之类的)之后也能正常显示而已。

追问

窗口显示后再绘制?不会吧,不是已经绘制好后,才显示出来的么?

追答

回复你的消息了

mfc窗口置于指定窗口上(前)方怎么实现?

窗口A保持在窗口B的前方,窗口B移动或改变大小窗口A始终在B的前方,但窗口A不置顶。怎么实现?

讲道理具体实现方法,你要自己去百度,只给你提供一个思路
首先用FindWindow 以及 FindwindowEx之类的所有算法印象中有个枚举窗口的函数 具体我忘了 找到目前所有你需要操作的窗口
然后Set 显示顺序 实现是一定可以实现得
我做过类似的项目 不懂得继续问我 建议你搜搜再问我
参考技术A 配音 李易于虹 饰 天竺国王后

以上是关于mfc中,我想把自己的图片显示在窗口中,一定要在wm_paint重绘中实现??的主要内容,如果未能解决你的问题,请参考以下文章

MFC异形窗口-多边形窗口-根据图片自定义窗口形状-CRgn

sdk 与 mfc 注意点

mfc 图片列表显示

mfc 加载图片资源怎么弄?给个程序最好附上说明。

mfc窗口置于指定窗口上(前)方怎么实现?

jquery easyui 中 我想把图标改为自己做的图片 我的图标尺寸不是默认的16*16 怎么