会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
技术文档 > VB文档 > 窗体界面
何将整个画面暗下来,如同关机前一般
发表日期:2003-07-21 00:00:00作者: 出处:  

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

注释:如果只要让Picture1有效果将底下三行unMark取代 hdc5, width5, height5三个值

注释:hdc5 = Picture1.hdc

注释:width5 = Picture1.ScaleWidth

注释:height5 = Picture1.ScaleHeight

注释:底下三行设定整个萤幕都暗下来

hdc5 = GetDC(0)

width5 = Screen.Width Screen.TwipsPerPixelX

height5 = Screen.Height Screen.TwipsPerPixelY

rop = &HA000C9 注释:与原图做and运算

Call SelectObject(hdc5, hBrush)

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

Call DeleteObject(hBrush)

注释:如果只暗picture1则底下这一行要mark起来

res = ReleaseDC(0, hdc5)

End Sub

注释:回复原本的画面

Private Sub Command2_Click()

Dim aa As Long

注释:如果只暗picture1则底下这一行要unMark起来

注释:Picture1.Refresh

注释:如果只暗picture1则底下这一行要mark起来

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

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.0061