捕獲窗口消息。
GUIGetMsg ( [高級模式] )
參數(shù)
高級模式 | [可選參數(shù)] 以數(shù)組的形式返回擴展信息。 0 = (默認)只返回捕獲的事件。 1 = 返回一個含有事件及擴展信息的數(shù)組。 |
返回值
返回一個事件(ID)或一個數(shù)組,取決于“高級模式”參數(shù)的設置。0 | 無事件 |
控件 ID | 發(fā)送消息的控件 ID |
$GUI_EVENT_CLOSE | 對話框(窗口)正被關閉(相關按鈕被點擊或系統(tǒng)菜單項被選中) |
$GUI_EVENT_MINIMIZE | 對話框(窗口)被最小化(窗口標題欄上的最小化按鈕被點擊) |
$GUI_EVENT_RESTORE | 對話框(窗口)被還原(任務欄圖標被點擊) |
$GUI_EVENT_MAXIMIZE | 對話框(窗口)被最大化(窗口標題欄上的最大化按鈕被點擊) |
$GUI_EVENT_MOUSEMOVE | 鼠標指針移動 |
$GUI_EVENT_PRIMARYDOWN | 鼠標的主要按鈕被按下 |
$GUI_EVENT_PRIMARYUP | 鼠標的主要按鈕被松開 |
$GUI_EVENT_SECONDARYDOWN | 鼠標的次要按鈕被按下 |
$GUI_EVENT_SECONDARYUP | 鼠標的次要按鈕被松開 |
注意
本函數(shù)在執(zhí)行時將自動按需閑置 CPU 因此您可以放心地在緊湊的循環(huán)中使用本函數(shù)而不必擔心 CPU 的負荷問題。
相關
GUICreate, GUICtrlCreate..., GUICtrlRead, GUIOnEventMode(選項)
示例
;----------------------------------------------------------------------
; 示例 - 按下按鈕即可查看被選中地單選框按鈕
; 本腳本也同時演示了窗口狀態(tài)的檢測(被關閉/最小化/超時,等等)
#include <GUIConstants.au3>
Opt("GUICoordMode", 1)
GUICreate("單選按鈕演示", 400,280)
; 創(chuàng)建控件
$button_1 = GUICtrlCreateButton ("B&utton 1", 30, 20, 120, 40)
$group_1 = GUICtrlCreateGroup ("Group 1", 30, 90, 165, 160)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio ("Radio &0", 50, 120, 70, 20)
$radio_2 = GUICtrlCreateRadio ("Radio &1", 50, 150, 60, 20)
$radio_3 = GUICtrlCreateRadio ("Radio &2", 50, 180, 60, 20)
; 初始化變量,用于跟蹤 GUI 事件
$radioval1 = 0 ; 我們假定 0 = 第一個單選按鈕被選中,2 = 最后一個單選按鈕被選中
$radioval2 = 2
; 顯示 GUI 窗口
GUISetState ()
; 在下面這個消息循環(huán)中我們使用了變量來跟蹤單選按鈕的變化,
; 也有其它方法,比如使用 GUICtrlRead() 來讀取每個控件的狀態(tài)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "", "窗口將被關閉")
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0,"", "窗口被最小化",2)
Case $msg = $GUI_EVENT_MAXIMIZE
MsgBox(0,"", "窗口被還原",2)
Case $msg = $button_1
MsgBox(0, "默認按鈕被點擊", "Radio " & $radioval1 )
Case $msg >= $radio_1 AND $msg <= $radio_3
$radioval1 = $msg - $radio_1
EndSelect
WEnd