不用加载控件,定义一个变量,类型为stdpicture,如下 dim pic as stdpicture dim mdc as long,bmp as long dim picDC as long dim brush as long在form load里添加代码 dim rc as rect set pic=loadpicture(....) mdc=createcompatibledc(getdc(0)) bmp=createcompatiblebitmap(getdc(0),form.width/15,form.height/15) deleteobject selectobject(mdc,bmp) setrect rc,0,0,form.width/15,form.height/15 brush=getsyscolorbrush(me.backcolor and &HFFFFFF) fillrect mdc,rc,brushpicdc=createcompatibledc(getdc(0)) deleteobject selectobject(picdc,pic.handle)定义一个函数,叫做MovePic private sub MovePic(byval x as long,byval y as long) dim rc as rect setrect rc,0,0,me.width/15,me.height/15 fillrect mdc,rc,brush bitblt mdc,x,y,图象宽度,图象高度,picdc,0,0,vbsrccopy bitblt me.hdc,x,y,图象高度,图象宽度,mdc,0,0,vbsrccopy end sub在程序关闭时 deleteobject brush deletedc mdc deletedc picdc set pic=nothing以上的api函数声明,RECt声明自己到VB带的API 浏览器里找吧,我机器上没有装VB,所以也没能调试
dim pic as stdpicture
dim mdc as long,bmp as long
dim picDC as long
dim brush as long在form load里添加代码
dim rc as rect
set pic=loadpicture(....)
mdc=createcompatibledc(getdc(0))
bmp=createcompatiblebitmap(getdc(0),form.width/15,form.height/15)
deleteobject selectobject(mdc,bmp)
setrect rc,0,0,form.width/15,form.height/15
brush=getsyscolorbrush(me.backcolor and &HFFFFFF)
fillrect mdc,rc,brushpicdc=createcompatibledc(getdc(0))
deleteobject selectobject(picdc,pic.handle)定义一个函数,叫做MovePic
private sub MovePic(byval x as long,byval y as long)
dim rc as rect
setrect rc,0,0,me.width/15,me.height/15
fillrect mdc,rc,brush
bitblt mdc,x,y,图象宽度,图象高度,picdc,0,0,vbsrccopy
bitblt me.hdc,x,y,图象高度,图象宽度,mdc,0,0,vbsrccopy
end sub在程序关闭时
deleteobject brush
deletedc mdc
deletedc picdc
set pic=nothing以上的api函数声明,RECt声明自己到VB带的API 浏览器里找吧,我机器上没有装VB,所以也没能调试
我太菜了..
.GIF的图片是透明的.
所以移动起来,看不出来一个方框在移动..
你用picturebox控件应该就可以,移动的时候画出背景