強(qiáng)制和防止窗口重畫
導(dǎo)讀:這個(gè)例子告訴你如何強(qiáng)制窗口的一部分重畫。有時(shí)這是必須的,上學(xué)吧提示當(dāng)你試驗(yàn)自己重畫控件的技術(shù),或者已經(jīng)使用了LockWindowUpdate這個(gè)API函數(shù)以阻止控件重畫時(shí)(參見“防止一個(gè)窗口重畫”)。
新建一個(gè)項(xiàng)目,添加一個(gè)module,然后粘貼下列代碼:
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function InvalidateRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT, ByVal bErase As Long) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long
Public Sub RepaintWindow(ByRef objThis As Object, Optional ByVal bClientAreaOnly As Boolean = True)
Dim tR As RECT
Dim tP As POINTAPI
If (bClientAreaOnly) Then
GetClientRect objThis.hWnd, tR
Else
相關(guān)推薦:2011年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
2011計(jì)算機(jī)等級(jí)考試二級(jí)VB考點(diǎn)及習(xí)題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |