函数说明

GUICtrlCreateContextMenu

在指定控件或GUI窗口上创建右键菜单。

GUICtrlCreateContextMenu ( [控件ID] )

 

参数

控件ID [可选参数] 控件标识符,可由 GUICtrlCreate... 的返回值获得。

 

返回值

成功: 返回控件标识符(控件ID)。
失败: 返回值为0。

 

注意

在使用本函数创建右键菜单的主控件之后,即可使用 GUICtrlCreateMenuItem 来创建每个菜单项。
至于子菜单则可使用 GUICtrlCreateMenu 来创建。

若参数为空或为-1则表示所创建的右键菜单将关联到整个GUI窗口而不仅仅只是个别控件。

每个控件只能设置一个右键菜单。因此若要创建一个新的右键菜单则必须先把现有的菜单删除。

注意:您不能为那些本身已有 系统 右键菜单的控件创建右键菜单,比如 编辑框/输入控件等。

 

相关

GUICtrlCreateMenuItem, GUICtrlCreateMenu, GUICtrlSetState, GUICtrlDelete

 

示例


#include <GUIConstants.au3>

GUICreate("我的 GUI 之右键菜单",300,200)

$contextmenu = GUICtrlCreateContextMenu ()

$button = GUICtrlCreateButton("确定",100,100,70,20)
$buttoncontext = GUICtrlCreateContextMenu($button)
$buttonitem = GUICtrlCreateMenuitem("关于按钮",$buttoncontext)

$newsubmenu  = GUICtrlCreateMenu ("新建", $contextmenu)
$textitem    = GUICtrlCreateMenuitem ("文本",$newsubmenu)

$fileitem = GUICtrlCreateMenuitem ("打开",$contextmenu)
$saveitem = GUICtrlCreateMenuitem ("保存",$contextmenu)
GUICtrlCreateMenuitem ("",$contextmenu) ; 分隔线

$infoitem = GUICtrlCreateMenuitem ("信息",$contextmenu)

GUISetState ()

; 运行脚本直到窗口被关闭
While 1
    $msg = GUIGetMsg()
   
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend