picturebox控件载入背景透明图片的问题
我想在一个pictrue1控件嵌入一张背景透明的图片。比如自己找了一些资料。试着做了2张图,一张原图,背景黑色,一张覆盖图,前景色黑色,背景色白色,然后把这2张图片分别放在pictrue2和pictrue3里。然后用一个按钮点击事件实现pictrue1控件嵌入背景透明的图片功能。但是现在我发现有几个问题,
1、就是虽然按钮点击事件实现pictrue1控件嵌入背景透明的图片功能,但是当外面其他的窗口遮住了pictrue1控件或窗口隐藏在打开后,里面的图片就被擦掉了,没有了,就好像是没有重绘效果。请问该怎么实现窗口无论如何移动隐藏,pictrue1控件图片一直存在的功能?
2、如果将pictrue2和pictrue3的可见属性设为false后或者把这两个控件移到窗口外面后,就算点击按钮事件也完成不了pictrue1控件嵌入背景透明的图片功能。实际编程中,肯定是要将pictrue2和pictrue3隐藏起来的。请问该怎么解决这个问题?
3、我不希望只有触发了按钮事件后,才可以载入图片。我希望程序一运行就自动将图片载入pictrue1控件里。
不知道各位有没有听明白我的意思。
下面是源程序。不知道是不是哪里出问题了。希望各位能指导一下。期待您的回复!
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Sub Command2_Click()
Dim lrtn As Integer
lrtn = BitBlt(Picture1.hDC, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture2.hDC, 0, 0, vbSrcAnd)
lrtn = BitBlt(Picture1.hDC, 0, 0, Picture3.ScaleWidth, Picture3.ScaleHeight, Picture3.hDC, 0, 0, vbSrcPaint)
End Sub
Private Sub Form_Load()
Picture2.Picture = LoadPicture("C:\Documents and Settings\fang\桌面\3.bmp")
Picture3.Picture = LoadPicture("C:\Documents and Settings\fang\桌面\2.bmp")
End Sub