捕獲窗口消息。
GUIGetMsg ( [高級(jí)模式] )
參數(shù)
| 高級(jí)模式 | [可選參數(shù)] 以數(shù)組的形式返回?cái)U(kuò)展信息。 0 = (默認(rèn))只返回捕獲的事件。 1 = 返回一個(gè)含有事件及擴(kuò)展信息的數(shù)組。 |
返回值
返回一個(gè)事件(ID)或一個(gè)數(shù)組,取決于“高級(jí)模式”參數(shù)的設(shè)置。| 0 | 無(wú)事件 |
| 控件 ID | 發(fā)送消息的控件 ID |
| $GUI_EVENT_CLOSE | 對(duì)話框(窗口)正被關(guān)閉(相關(guān)按鈕被點(diǎn)擊或系統(tǒng)菜單項(xiàng)被選中) |
| $GUI_EVENT_MINIMIZE | 對(duì)話框(窗口)被最小化(窗口標(biāo)題欄上的最小化按鈕被點(diǎn)擊) |
| $GUI_EVENT_RESTORE | 對(duì)話框(窗口)被還原(任務(wù)欄圖標(biāo)被點(diǎn)擊) |
| $GUI_EVENT_MAXIMIZE | 對(duì)話框(窗口)被最大化(窗口標(biāo)題欄上的最大化按鈕被點(diǎn)擊) |
| $GUI_EVENT_MOUSEMOVE | 鼠標(biāo)指針移動(dòng) |
| $GUI_EVENT_PRIMARYDOWN | 鼠標(biāo)的主要按鈕被按下 |
| $GUI_EVENT_PRIMARYUP | 鼠標(biāo)的主要按鈕被松開(kāi) |
| $GUI_EVENT_SECONDARYDOWN | 鼠標(biāo)的次要按鈕被按下 |
| $GUI_EVENT_SECONDARYUP | 鼠標(biāo)的次要按鈕被松開(kāi) |
注意
本函數(shù)在執(zhí)行時(shí)將自動(dòng)按需閑置 CPU 因此您可以放心地在緊湊的循環(huán)中使用本函數(shù)而不必?fù)?dān)心 CPU 的負(fù)荷問(wèn)題。
相關(guān)
GUICreate, GUICtrlCreate..., GUICtrlRead, GUIOnEventMode(選項(xiàng))
示例
;----------------------------------------------------------------------
; 示例 - 按下按鈕即可查看被選中地單選框按鈕
; 本腳本也同時(shí)演示了窗口狀態(tài)的檢測(cè)(被關(guān)閉/最小化/超時(shí),等等)
#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 = 第一個(gè)單選按鈕被選中,2 = 最后一個(gè)單選按鈕被選中
$radioval2 = 2
; 顯示 GUI 窗口
GUISetState ()
; 在下面這個(gè)消息循環(huán)中我們使用了變量來(lái)跟蹤單選按鈕的變化,
; 也有其它方法,比如使用 GUICtrlRead() 來(lái)讀取每個(gè)控件的狀態(tài)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "", "窗口將被關(guān)閉")
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0,"", "窗口被最小化",2)
Case $msg = $GUI_EVENT_MAXIMIZE
MsgBox(0,"", "窗口被還原",2)
Case $msg = $button_1
MsgBox(0, "默認(rèn)按鈕被點(diǎn)擊", "Radio " & $radioval1 )
Case $msg >= $radio_1 AND $msg <= $radio_3
$radioval1 = $msg - $radio_1
EndSelect
WEnd
邵武市| 石门县| 富阳市| 富宁县| 拉萨市| 子洲县| 大荔县| 秦安县| 江山市| 乌拉特中旗| 闽清县| 鹤山市| 吉木萨尔县| 昌宁县| 荣成市| 蓝田县| 卢氏县| 蒙山县| 军事| 札达县| 柘城县| 祁连县| 瑞安市| 昂仁县| 博乐市| 竹北市| 正蓝旗| 昭平县| 黄石市| 呼图壁县| 陇川县| 大姚县| 德令哈市| 扬州市| 青冈县| 玛沁县| 望江县| 文山县| 靖江市| 长汀县| 海门市|