vb 窗体最大化时怎么使背景图片跟着改变大小

Private Sub Form_Load()
AutoRedraw = True
Picture = Icon
End Sub

Private Sub Form_Resize()
Cls
PaintPicture Picture, 0, 0, Width, Height
End Sub

这个代码写上去之后,然后运行,出来的图像是这个样子的。怎么办。求解
还有怎么样在vb中添加音乐???

程序本身没问题啊。由于VB默认的这个图标是带有透明区域的,所以PaintPicture以后左上角的原图像由于处于透明区域所以没有被覆盖。改用其他一般的图像文件就不会出现这样的问题了。
另外
PaintPicture Picture, 0, 0, Width, Height
最好改为
PaintPicture Picture, 0, 0, ScaleWidth, ScaleHeight
因为Width, Height是包含窗体边框和标题栏的,ScaleWidth, ScaleHeight才是真正的窗体内部(图中的灰色区域)的宽度和高度
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-05
代码没问题,但因为Ico是图标文件,而一个图标文件会包含几个图形,分别是不同分辨率的图标,所以显示的时候会混乱,你载入位图就可以了:

Private Sub Form_Load()
AutoRedraw = True
Picture = LoadPicture("c:\1.bmp")
End Sub

Private Sub Form_Resize()
PaintPicture Picture, 0, 0, Width, Height
End Sub
第2个回答  2012-05-05
给你补充一个添加音乐
播放资源文件文件中的声音,用以下方法播放资源文件中的 wav 声音:
首先,在你的资源文件的源文件 (RC) 文件加入下面一行:
MySound WAVE c:\music\vanhalen.wav
然后将其编译为 RES 文件。最后使用下面的声明及代码:
Private Declare Function PlaySound Lib _ "winmm.dll" Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
Private Const SND_ASYNC& = &H1
Private Const SND_NODEFAULT& = &H2
Private Const SND_RESOURCE& = &H40004
Dim hInst As Long
Dim sSoundName As String
Dim lFlags As Long
Dim lRet As Long

Private Sub Command1_Click()
hInst = App.hInstance
sSoundName = "MySound"
lFlags = SND_RESOURCE + SND_ASYNC + _ SND_NODEFAULT
lRet = PlaySound(sSoundName, hInst, lFlags)
End Sub
相似回答