返回介绍

Function GUICtrlCreateMenuitem

发布于 2020-03-05 18:21:29 字数 3175 浏览 1090 评论 0 收藏 0

GUICtrlCreateMenuitem

在GUI上创建一个菜单项目控件。

GUICtrlCreateMenuitem ( "文本", menuID [, menuentry [, menuradioitem]] )

参数

文本 控件的文本。
menuID 定义此子菜单要附加到的目标菜单ID。若此值为 -1 则使用第一级菜单。
menuentry [可选参数] 允许定义要创建的菜单项的(次序)编号。编号从0开始。
menuradionitem [可选参数] 0(默认) = 创建普通菜单项,1 = 创建单选菜单项

返回值

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

注意

若要设置或修改控件的各种信息请查看 GUICtrlSet....

文本 参数是 "" 则表示创建分隔线。GUICtrlSetState 可用于其它控件,请看示例。

相关

GUICtrlSet..., GUIGetMsg

示例


#include <GUIConstants.au3>

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

Global $defaultstatus = "Ready"
Global $status

$filemenu = GUICtrlCreateMenu ("文件(&F)")
$fileitem = GUICtrlCreateMenuitem ("打开(&O)",$filemenu)
GUICtrlSetState(-1,$GUI_DEFBUTTON)
$helpmenu = GUICtrlCreateMenu ("?")
$saveitem = GUICtrlCreateMenuitem ("保存(&S)",$filemenu)
GUICtrlSetState(-1,$GUI_DISABLE)
$infoitem = GUICtrlCreateMenuitem ("信息",$helpmenu)
$exititem = GUICtrlCreateMenuitem ("退出(&X)",$filemenu)
$recentfilesmenu = GUICtrlCreateMenu ("最近的文件",$filemenu,1)

$separator1 = GUICtrlCreateMenuitem ("",$filemenu,2) ; 分隔线

$viewmenu = GUICtrlCreateMenu("查看(&V)",-1,1) ; 此菜单将出现在 "?" 菜单之前
$viewstatusitem = GUICtrlCreateMenuitem ("状态栏",$viewmenu)
GUICtrlSetState(-1,$GUI_CHECKED)
$okbutton = GUICtrlCreateButton ("确定",50,130,70,20)
GUICtrlSetState(-1,$GUI_FOCUS)
$cancelbutton = GUICtrlCreateButton ("取消",180,130,70,20)

$statuslabel = GUICtrlCreateLabel ($defaultstatus,0,165,300,16,BitOr($SS_SIMPLE,$SS_SUNKEN))

GUISetState ()
While 1
$msg = GUIGetMsg()

If $msg = $fileitem Then
$file = FileOpenDialog("打开...",@TempDir,"所有文件(*.*)")
If @error <> 1 Then GUICtrlCreateMenuitem ($file,$recentfilesmenu)
EndIf
If $msg = $viewstatusitem Then
If BitAnd(GUICtrlRead($viewstatusitem),$GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($viewstatusitem,$GUI_UNCHECKED)
GUICtrlSetState($statuslabel,$GUI_HIDE)
Else
GUICtrlSetState($viewstatusitem,$GUI_CHECKED)
GUICtrlSetState($statuslabel,$GUI_SHOW)
EndIf
EndIf
If $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton Or $msg = $exititem Then ExitLoop
If $msg = $infoitem Then Msgbox(0,"信息","仅供测试...")
WEnd
GUIDelete()

Exit


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文