窗体大小问题

3circles 2003-01-16 10:02:27
请问动态改变当前窗体的背景图片,如何让窗体大小自动改变以适应当前图片大小?在线等待,TKS!
...全文
43 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
koa3000 2003-01-17

如果是动态改变,假设有一个subchange 过程

public sub subchange()
……
picture1.LoadFromFile(FileNameofImage)
form1.width=picture1.width
form1.height=picture1.height
……
回复
koa3000 2003-01-17

autosize属性image控件没有;但是picture控件有

设置picture控件autosize为true
将背景图片load在picture控件里,

在formload事件里面加入代码即可:
……
form1.width=picture1.width
form1.height=picture1.height
……
回复
suntt 2003-01-17
楼上的谁说没有,它的属性是stretch
回复
liushanyu 2003-01-16
刚好看别人的代码,互相学习吧。

在Form中添加一个Picture控件和一个CommandButton控件,在Picture控件中加入一个位图文件,将下面代码加入其中:

Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" _
(ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) _
As Long
Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, _
ByVal dwCount As Long, lpBits As Any) As Long
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Sub Command1_Click()
Dim hBitmap As Long
Dim res As Long
Dim bmp As BITMAP
Dim byteAry() As Byte
Dim totbyte As Long, i As Long
hBitmap = Picture1.Picture.Handle
res = GetObject(hBitmap, Len(bmp), bmp) '取得BITMAP的结构
totbyte = bmp.bmWidthBytes * bmp.bmHeight '总共要多少BYTE来存图
ReDim byteAry(totbyte - 1)
'将Picture1中的图信息存到ByteAry
res = GetBitmapBits(hBitmap, totbyte, byteAry(0))
Debug.Print "Total Bytes Copied :"; res
Debug.Print "bmp.bmBits "; bmp.bmBits
Debug.Print "bmp.bmBitsPixel "; bmp.bmBitsPixel '每相素位数
Debug.Print "bmp.bmHeight "; bmp.bmHeight '以相素计算图象高度
Debug.Print "bmp.bmPlanes "; bmp.bmPlanes
Debug.Print "bmp.bmType "; bmp.bmType
Debug.Print "bmp.bmWidth "; bmp.bmWidth '以相素计算图形宽度
Debug.Print "bmp.bmWidthBytes "; bmp.bmWidthBytes '以字节计算的每扫描线长度
End Sub
回复
3circles 2003-01-16
image控件我找不到autosize属性。因为我还想在图片上放一些透明的文本,所以可能的话还是请告诉我API方法吧!!
回复
programart_life 2003-01-16
两种方式
1、不要将窗体背景图直接放在窗体的Picture属性里,而是放一个Image控件在窗体上,将该控件的AutoSize属性设置为True,这样加载的图片,Image将自动适应其大小。然后再调整窗体的大小为Image控件的大小。

2、调用API函数可以取得图片的大小(象素大小),然后根据这个大小来确定窗体大小。比起第一种,难度要大一些。估计你不需要知道,就不说了
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

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