六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

偵測離開Form進(jìn)入其他程式

[摘要]雖然Form有Activate與DeActivate的Events,但是這兩個(gè)Events只對form的Focus是在 同一個(gè)Process不同F(xiàn)orm之間的切換有效,如果我們在Form1,而Cl...
雖然Form有Activate與DeActivate的Events,但是這兩個(gè)Events只對form的Focus是在  
同一個(gè)Process不同F(xiàn)orm之間的切換有效,如果我們在Form1,而Click其他的Process,  
則Form1并不會產(chǎn)生DeActivate的Events,相同的,由其他的Process 回到Form1時(shí),也  
不會產(chǎn)生Activate的Events。唯一能得知的便是透過WM_ACTIVATE,其LowWord of wParam  
有以下叁個(gè)值:  
  WA_ACTIVE       Activated by some method other than a mouse click  
  WA_CLICKACTIVE  Activated by a mouse click.  
  WA_INACTIVE     Deactivated  
透過Subclassing的技巧便可來解決這個(gè)問題  

'以下在.bas  
Option Explicit  

Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _  
  (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long  
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _  
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long  
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _  
  (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, _  
   ByVal wParam As Long, ByVal lParam As Long) As Long  

Public Const GWL_WNDPROC = (-4)  
Public Const WM_ACTIVATE = &H6  
Public Const WA_ACTIVE = 1  
Public Const WA_CLICKACTIVE = 2  
Public Const WA_INACTIVE = 0  


Public preWinProc As Long  

Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, _  
                         ByVal wParam As Long, ByVal lParam As Long) As Long  
Dim fActive As Integer  
If Msg = WM_ACTIVATE Then  
    '取得wParam的LowWord  
    fActive = CInt(wParam And &HFFFF)  
    If fActive = WA_INACTIVE Then  
       Debug.Print "InActive "  
    Else  
       Debug.Print "Active"  
    End If  
End If  
'將之送往原來的Window Procedure  
wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)  
End Function  

'以下在form  
Option Explicit  
Private Sub Form_Activate()  
Debug.Print "Event Activate"  
End Sub  

Private Sub Form_Deactivate()  
Debug.Print "Event DeActivate"  
End Sub  

Private Sub Form_Load()  
Dim ret As Long  
'記錄原本的Window Procedure的位址  
preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)  
'設(shè)定Combo1的window Procedure到wndproc  
ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf wndproc)  
End Sub  

Private Sub Form_Unload(Cancel As Integer)  
Dim ret As Long  
'取消Message的截取,而使之又只送往原來的Window Procedure  
ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)  
End Sub


主站蜘蛛池模板: 日本午夜在线视频 | 中文字幕在线不卡视频 | 日韩欧美亚洲视频 | 午夜日韩久久影院 | 日韩中文字幕精品视频在线 | 青青青视频免费线看 视频 青青青视频免费观看 | 四虎影剧院| 日韩资源 | 午夜合集| 天天爽天天干 | 在线观看 一区二区 麻豆 | 日韩国产欧美视频 | 亚洲国产成人久久综合一区77 | 亚洲视频在线一区 | 欧美在线高清视频播放免费 | 日本护士后进式猛烈动态图片 | 亚洲自偷 | 亚洲欧美日韩国产精品一区 | 色噜噜 男人的天堂在线观看 | 天美传媒影视在线网址 | 天天上天天干 | 色播放| 日日碰日日摸日日澡视频播放 | 日韩免费一区二区三区 | 日本免费高清视频二区 | 在线免费亚洲 | 亚洲视频综合 | 日韩a视频在线观看 | 一本久道久久综合多人 | 亚洲欧美中日韩中文字幕 | 欧美特黄三级成人 | 亚洲视频三级 | 青娱乐在线视频免费观看 | 奇米色婷婷 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看精品 | 亚洲a人片在线观看网址 | 色婷婷激婷婷深爱五月老司机 | 色天天天综合色天天碰 | 在线观看91香蕉国产免费 | 欧美香蕉视频在线观看 | 影音先锋男人资源站 |