检索菜单项类型
#Include <GuiMenu.au3>
_GUICtrlMenu_GetItemType($hMenu, $iItem[, $fByPos = True])
$hMenu | 菜单句柄 |
$iItem | 菜单项的标识符或位置,由 $fByPos 参数决定. |
$fByPos | [可选参数] 菜单识别标志: True - $iItem 为项目的 0 基位置 False - $iItem 为菜单项的标识符 |
返回菜单项状态.可以是一或多个下列值: | |
$MFT_BITMAP - 项目显示使用的位图 | |
$MFT_MENUBARBREAK - 项目放在一个新行.一条垂直线分隔新、旧列. | |
$MFT_MENUBREAK - 项目放在一个新行.该列没有垂直分隔线. | |
$MFT_OWNERDRAW - 项目由所有者绘制 | |
$MFT_RADIOCHECK - 项目显示使用的单选按钮标志 | |
$MFT_RIGHTJUSTIFY - 项目右对齐 | |
$MFT_RIGHTORDER - 项目级联由右至左 | |
$MFT_SEPARATOR - 项目是一个分隔符 |
#include <GuiMenu.au3>
_Main()
Func _Main()
Local $hWnd, $hMain, $hFile
; 打开记事本
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]")
$hWnd = WinGetHandle("[CLASS:Notepad]")
$hMain = _GUICtrlMenu_GetMenu($hWnd)
$hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 0)
; 改变打开项类型
Writeln("Open item type: 0x" & Hex(_GUICtrlMenu_GetItemType($hFile, 1)))
_GUICtrlMenu_SetItemType($hFile, 1, $MFT_RADIOCHECK)
_GUICtrlMenu_CheckRadioItem($hFile, 0, 8, 1)
Writeln("Open item type: 0x" & Hex(_GUICtrlMenu_GetItemType($hFile, 1)))
EndFunc ;==>_Main
; 写入一行文本到记事本
Func Writeln($sText)
ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CR)
EndFunc ;==>Writeln