MDI窗体倒底可不可以拿图片做背景?

JeanLaw 2003-12-19 04:16:56
1、直接设picture属性,图片无法添满MDI客户区。而且当窗体缩放时,背景图无法跟着变化尺寸;
2、用一个子窗体做背景,将其设在最底层并初始最大化。可是当其他窗体由最大化还原时,该背景窗体也跟着还原;
3、也是用一个子窗体做背景,将其大小尺寸随着MDI父窗体的变化而变化。但是如果其他子窗体的位置超出客户区,父窗体出现滚动条时,背景图无法覆盖超出部分;
4、看到有用一堆API函数做的例子,但是其也无法实现背景图随窗体尺寸的变化而自动填充;
5、利用Word等将picture属性设为Metafile格式的图片。虽然大小尺寸等都没有问题了,但是图象质量实在太差......

MDI的背景图到底应该怎么做呀?
...全文
162 点赞 收藏 53
写回复
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2004-02-06
正确的做法是接管MDIclient窗口的背景重绘,为此我们要拦截WM_ERASEBKGND消息,并禁止默认的背景描绘工作
回复
JeanLaw 2004-02-06
好象没有一个可行的办法……

to taoheping(创微):你想让我的子窗体往哪放?
回复
taoheping 2004-02-06
我以前也有过这样的问题,但后面我自已解决了.你在MDI窗体中首先用picturebox作为底,然后在它的上面加一个Image控件就可以了,效果蛮好的,如果还有什么问题与我联系了qq:38128151
回复
newsun2003 2004-02-06
用setparent设置作底层的背景窗口,它不会跟其他的mdi子窗口一起动作,但如何确保它始终在低下,还不太清楚。仅供参考
回复
pigpag 2004-02-02
那个很麻烦。
见http://expert.csdn.net/Expert/topic/2028/2028237.xml?temp=.3153192
回复
zhoufs 2004-02-02
像在Delphi中那样用一个webBrowser控件,在其中显示一个页面,既可显示图片,又可带上链接,当用户单击该链接时,打开其它窗口,岂不更好?
回复
warlord 2004-02-02
谁能给个完整一点的代码?
回复
pigpag 2004-01-12
//另外在子窗体移动时,背景会变的乱七八糟

这是因为你没有判断重绘区!WM_Paint并不是每一次都重绘整个MDIClient,而只是重绘需要的部分。
回复
JeanLaw 2004-01-09
那个方法不行,首先他不是显示一张背景图并伸缩,似乎是用小图来平铺.另外在自窗体移动时,背景会变的乱七八糟,用上面位朋友的话说就是背景图片变得很乱,很可笑!
回复
pigpag 2004-01-08
就是zly910的方法。先用FindWindowEX找MDI窗口中的MDIClient窗口,然后子类处理WM_PAINT,就是这样的。
回复
JeanLaw 2004-01-08
第一种方法90%行不通.使用子类?StretchBlt函数?能说具体一点吗?
回复
pigpag 2004-01-08
拉伸请用StretchBlt函数
回复
pigpag 2004-01-08
两种方法。其一,用一个窗口垫底作背景;或者用子类?没试过但必定是可行的。
回复
JeanLaw 2004-01-08
楼上口气不小啊?那你给个例子.
不过最好先看看那些不行的方法,免得又重了.
回复
LGYAN 2004-01-08
用不着这么多位大侠吧,哎。我还以为是多大的问题呢
回复
JeanLaw 2004-01-08
想了很长时间都没想到怎么做,如果再没有人能指点一下,我就放弃了.
回复
semicon 2004-01-06
确实很难!:(
回复
JeanLaw 2004-01-06
:(
回复
semicon 2004-01-05
up!
回复
JeanLaw 2004-01-03
这难道是个很难的问题吗?
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告