如何制作透明的表单 (Form)
请在声明区中放入以下声明:
Const GWL_EXSTYLE = (-20)
Const WS_EX_TRANSPARENT = &H20&
Const SWP_FRAMECHANGED = &H20
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE
Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
在 Form_Load 使用的范例如下: Private Sub Form_Load() SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME Me.Refresh End Sub 如何把小图片填满 Form 成为背景图 对于这个问题,我看过很多方法,有的方法很麻烦,要声明一大堆 Type,用一大堆的 API,但是有一个最笨但我认为最好的方法如下: (就好像拼磁砖一样,不用任何 API, 不必声明任何 Type) 在 Form 中放一个 PictureBox,Picture 属性设定为某一张小图,AutoSize 属性性设定 True,完成的模组如下:Sub PictureTile(Frm As Form, Pic As PictureBox) Dim i As Integer Dim t As Integer Frm.AutoRedraw = True Pic.BorderStyle = 0 For t = 0 To Frm.Height Step Pic.ScaleHeight For i = 0 To Frm.Width Step Pic.ScaleWidth Frm.PaintPicture Pic.Picture, i, t Next i Next t End Sub PictureTile 这个模组共有二个参数,第一个是表单名称,第二个则是 PictureBox 的名称。以下为一应用实例:Private Sub Form_Load() PictureTile Me, Picture1 End Sub |
闂佽 鍋撻柟顖滃椤ユ垿鏌熺€涙ê濮囧┑顕嗘嫹闂佸搫琚崕鍐诧耿閸涙潙缁╅柟顖滃椤ワ拷>>
正在阅读:vb高手搜集-常见问题总结(2)vb高手搜集-常见问题总结(2)
2005-06-14 10:18
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键