| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2423 人关注过本帖
标题:[求助]如何让一张图片充满整个窗体?
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:9 
[求助]如何让一张图片充满整个窗体?
我在MIDFORM上加载了一个1024*768的图片
由于这个midform是必须最大化了的,所以运行时图片不能充满整个窗体,在右边空出了一条
有什么办法能让图片充满整个窗体?
搜索更多相关主题的帖子: 窗体 
2006-05-03 10:16
xinfresh
Rank: 4
等 级:贵宾
威 望:13
帖 子:594
专家分:0
注 册:2006-1-13
收藏
得分:0 
有点看不懂题目……

E-mail:xinfresh@QQ:383094053校内:http:///getuser.do?id=234719042
2006-05-03 18:12
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
是这样的
给midform窗体的picture属性加载的图片,我找的已经是做桌面专用的大图了,1024*768的
可它不能充满整个窗体背景
我想知道有什么命令是可以把图片放大让它充满窗体
就像我在ACCESS里做的窗体背景就可以用maximize把它最大化了充满窗体

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-05-03 19:48
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下这个范例, 要:
1、一个 MDIForm:不必设定任何属性。
2、一个 Form1:不一定是 MDIChild,最好 MDIChild 为 False,但是 AutoRedraw 设成 True。
3、Form1 上面放一个隐藏的 PictureBox:名称为 Picture1,不必设定 Picture 属性。
4、一张图片的完整路径。

'将以下模组放入 MDIForm 的声明区中:

Sub TileMDIBkgd(MDIForm As Form, bkgdtiler As Form, bkgdfile As String)
If bkgdfile = "" Then Exit Sub
Dim ScWidth%, ScHeight%
ScWidth% = Screen.Width / Screen.TwipsPerPixelX
ScHeight% = Screen.Height / Screen.TwipsPerPixelY
Load bkgdtiler
bkgdtiler.Height = Screen.Height
bkgdtiler.Width = Screen.Width
bkgdtiler.ScaleMode = 3
bkgdtiler!Picture1.Top = 0
bkgdtiler!Picture1.Left = 0
bkgdtiler!Picture1.Picture = LoadPicture(bkgdfile)
bkgdtiler!Picture1.ScaleMode = 3

For n% = 0 To ScHeight% Step bkgdtiler!Picture1.ScaleHeight
For o% = 0 To ScWidth% Step bkgdtiler!Picture1.ScaleWidth
bkgdtiler.PaintPicture bkgdtiler!Picture1.Picture, o%, n%
Next o%
Next n%

MDIForm.Picture = bkgdtiler.Image
Unload bkgdtiler
End Sub

以下为一应用实例:

Private Sub MDIForm_Load()
TileMDIBkgd Me, Form1, "c:\windows\Tiles.bmp"
End Sub

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-05-07 17:13
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 

好像这样之后的确可以让一张1024*768的图片充满一个最大化了的窗体

但是图片失真严重,变成一小格一小格的了

还有更好的方法吗?

我现在只能是用Picture Manager把1024*768的图片放大30%左右让它来做窗体背景


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-05-07 17:44
VB爱上我
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:478
专家分:52
注 册:2005-10-14
收藏
得分:0 
Private Sub Form_Load()
Image1.Stretch = True
Image1.Top = 0
Image1.Left = 0
Image1.Height = Me.ScaleHeight
Image1.Width = Me.ScaleWidth
End Sub

IT618资讯网 提供服务端开发,前端开发,网页特效,热门开源系统研究,软件下载,站长建站,淘宝开店等学习资料.
2006-05-07 18:10
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用VB爱上我在2006-5-7 18:10:00的发言:
Private Sub Form_Load()
Image1.Stretch = True
Image1.Top = 0
Image1.Left = 0
Image1.Height = Me.ScaleHeight
Image1.Width = Me.ScaleWidth
End Sub

这个方法我试了,它倒是能让一张大图在一个较小的窗体完全显示

但是我想要的效果是,让一张图片充满一个最大化了的窗体。


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-05-07 20:55
VB爱上我
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:478
专家分:52
注 册:2005-10-14
收藏
得分:0 

用了一个时钟控件.判断窗体面积有没有发生变化.
dim mai as double
Private Sub Form_Load()
Image1.Stretch = True
Image1.Top = 0
Image1.Left = 0
Image1.Height = Me.ScaleHeight
Image1.Width = Me.ScaleWidth
mai = Me.ScaleHeight * Me.ScaleWidth
End Sub

Private Sub Timer1_Timer()
If Me.ScaleHeight * Me.ScaleWidth <> mai Then
Image1.Stretch = True
Image1.Top = 0
Image1.Left = 0
Image1.Height = Me.ScaleHeight
Image1.Width = Me.ScaleWidth
mai = Me.ScaleHeight * Me.ScaleWidth
End If
End Sub


IT618资讯网 提供服务端开发,前端开发,网页特效,热门开源系统研究,软件下载,站长建站,淘宝开店等学习资料.
2006-05-08 09:50
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 

上面这个方法挺好
把时钟的Interval设置成100刚刚好
谢谢


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2006-05-08 10:08
爱神的箭
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:35
注 册:2012-10-14
收藏
得分:0 
直接用了,挺合适的。

人生无非是笑笑人家,再让人家笑笑而已~
2012-10-15 09:51
快速回复:[求助]如何让一张图片充满整个窗体?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022694 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved