用VB實現螢幕陰暗操作 (轉)
作者:燕義懷 出處:中國教育報 點選:1452
使用過 9x的都應該知道,在關閉Windows時,整個螢幕會暗下來,那麼,如何在自己開發的應用中也實現這一效果呢?我們透過一組就可以實現,如果你有興趣,就跟我來吧!這一組函式是:
GetDC :用來獲取螢幕的裝置號;
ReleaseDC :釋放指定的裝置;
CreatePatternBrush :建立圖形刷子;
PatBlt: 利用建立的圖形刷子填充指定裝置;
Delete :刪除建立的(與CreatePatternBrush建立的刷子物件呼應);
CreateBitmap :建立BMP物件;
Object :選擇當前操作物件;
InvalidateRect :使操作無效,即恢復變暗前的狀態。
基本思路
首先建立一個點陣圖物件,然後,利用此點陣圖物件建立一個圖案刷子,選擇指定裝置為當前裝置,利用已經建立的圖案刷子填充當前裝置,刪除建立的刷子物件即可使當前裝置變暗。呼叫InvalidateRect函式就可使指定裝置恢復到變暗前的狀態。
步 驟
1、建立一個Form1窗體,設定2個Command按鈕,將Command1和Command2的Caption屬性分別設定為:“變暗”和“恢復”。
2、在窗體程式碼模組中宣告API函式和相應的型別,程式碼如下:
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, lpRect As RECT, ByVal bErase As Long) As Long
3、編寫程式碼實現程式功能,由於版面所限,具體程式碼將放到CCE網站()。
以上就是螢幕變暗的方法。如果要使窗體、圖片框等物件變暗,只要使窗體或圖片框等物件獲取控制程式碼即可,修改Command1_Click過程和Command2_Click過程中的以下語句即可實現窗體變暗。
hdc5=Form1.Hdc;
Width5=Form1.width;
height5=Form1.height;
ReleaseDC(Form1.hwnd,hdct)
aa=InvalidateRect (Form1.hwnd,bottom,1)。
以上程式在.中文版,Windwos 98 環境中執行透過。有興趣的朋友可以去試一試,看到這種效果是不是覺得很驚奇呢!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VC實現螢幕變暗效果 (轉)
- 用VB製作螢幕保護程式 (轉)
- 用Delphi實現遠端螢幕抓取 (轉)
- 利用VB編寫螢幕保護程式 (轉)
- iOS 螢幕錄製實現iOS
- win10螢幕亮度自動變暗怎麼辦_win10螢幕亮度自動變暗的解決方法Win10
- 用JS實現簡單的螢幕錄影機JS
- windows 10如何把螢幕翻轉過來_win10顯示螢幕翻轉怎麼操作WindowsWin10
- selenium實現螢幕截圖
- QT擷取螢幕的實現QT
- 滑鼠螢幕取詞技術的原理和實現 (轉)
- VB 螢幕融化超級惡搞程式程式碼
- VB實現抽象類 (轉)抽象
- 控制皮膚找不到調螢幕亮度win10 怎麼把電腦螢幕亮度調暗Win10
- 筆記本螢幕暗的原因與解決辦法筆記
- ubuntu螢幕旋轉Ubuntu
- 如何實現共享螢幕標註功能?
- android 螢幕圓角實現方法Android
- MAC小技巧|Mac螢幕截圖去除視窗陰影Mac
- 螢幕取詞核心內幕 (轉)
- 保護您的Flutter應用程式:實現隱私螢幕Flutter
- 筆記本螢幕變暗的原因分析以及解決方法筆記
- 用VB實現“百葉窗”的圖形特效 (轉)特效
- 如何遠端投屏實現螢幕共享
- Android 5.0+ 螢幕錄製實現Android
- C# 實現螢幕鍵盤 (ScreenKeyboard)C#
- orientationchange 螢幕旋轉事件事件
- 讓應用程式禁止Windows螢幕保護 (轉)Windows
- iOS感測器:實現一個隨螢幕旋轉的圖片iOS
- VB的ShowInTaskbar功能分析以及用VC的實現 (轉)
- 用vb實現DES加解密演算法(三)--解密 (轉)解密演算法
- 用vb實現DES加解密演算法(二)--加密 (轉)解密演算法加密
- Android Lollipop (5.0) 螢幕錄製實現Android
- HTML5實現螢幕手勢解鎖HTML
- 用C#Builder編寫螢幕保護程式 (轉)UI
- C# 螢幕操作錄製與回放C#
- Android 禁止螢幕旋轉Android
- mui 控制旋轉螢幕方向UI