利用VB产生屏幕变暗的效果.

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

利用VB产生屏幕变暗的效果.

想利用VB编程实现屏幕变暗的效果(向关闭Win95时的效果),只要按下面的步骤来做

1、在Form1中加入两个CommandButton和一个PictureBox.

2、在Form1的代码窗口中添加以下代码:

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As

Long

Private Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long

Private Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As

Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long

Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As

Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long

Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long)

As Long

Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, ByVal lpRect As

Long, ByVal bErase As Long) As Long

Private bybits(1 To 16) As Byte

Private hBitmap As Long, hBrush As Long

Private hDesktopWnd As Long

Private Sub Command1_Click()

Dim rop As Long, res As Long

Dim hdc5 As Long, width5 As Long, height5 As Long

hdc5 = GetDC(0)

width5 = Screen.Width \ Screen.TwipsPerPixelX

height5 = Screen.Height \ Screen.TwipsPerPixelY

rop = &HA000C9

Call SelectObject(hdc5, hBrush)

res = PatBlt(hdc5, 0, 0, width5, height5, rop)

Call DeleteObject(hBrush)

res = ReleaseDC(0, hdc5)

End Sub

Private Sub Command2_Click()

Dim aa As Long

aa = InvalidateRect(0, 0, 1)

End Sub

Private Sub Form_Load()

Dim ary

Dim i As Long

ary = Array(&H55, &H0, &HAA, &H0, _

&H55, &H0, &HAA, &H0, _

&H55, &H0, &HAA, &H0, _

&H55, &H0, &HAA, &H0)

For i = 1 To 16

bybits(i) = ary(i - 1)

Next i

hBitmap = CreateBitmap(8, 8, 1, 1, bybits(1))

hBrush = CreatePatternBrush(hBitmap)

Picture1.ForeColor = RGB(0, 0, 0)

Picture1.BackColor = RGB(255, 255, 255)

Picture1.ScaleMode = 3

End Sub

运行程序,按Command1就可以使屏幕暗下来,按Command2恢复。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航