kk_lee69 发表于 2016-10-22 11:16:06

如何对GUICtrlCreateMenu建立的MENU进行click的操作?[已解决]

本帖最后由 kk_lee69 于 2016-10-26 21:28 编辑

如何对GUICtrlCreateMenu建立的MENU进行click的操作?
如何 利用一个 BUTTON 按钮对 自己使用GUICtrlCreateMenu建立的MENU进行click的操作?
我想用一个 BUTTON 按钮 ,按下后 自动模拟对自己建立的 MENU 上面的某个项目 进行 点击 click的操作??

试过了 ControlClick ("","",$MenuItemA41)没有作用
该怎么作才可以呢??


補充 代碼:

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

_Main()

Func _Main()
    Local $iCancel, $iExit, $iFileItem, $iFileMenu, $iHelpMenu, $iInfoItem
    Local $iRecentFilesMenu, $iStatusLabel, $iViewMenu, $iViewStatusItem, $sFilePath, $sStatus = "Ready"

    GUICreate("我的菜單 GUI", 300, 200)

    $sStatus = "準備就緒"

    $iFileMenu = GUICtrlCreateMenu("文件 &F")
    $iFileItem = GUICtrlCreateMenuItem("打開", $iFileMenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $iHelpMenu = GUICtrlCreateMenu("幫助")
    GUICtrlCreateMenuItem("保存", $iFileMenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $iInfoItem = GUICtrlCreateMenuItem("信息", $iHelpMenu)
    $iExit = GUICtrlCreateMenuItem("退出", $iFileMenu)
    $iRecentFilesMenu = GUICtrlCreateMenu("最近檔", $iFileMenu, 1)

    GUICtrlCreateMenuItem("", $iFileMenu, 2) ; 創建一個分隔線

    $iViewMenu = GUICtrlCreateMenu("查看", -1, 1) ; 之前創建的"?"菜單
    $iViewStatusItem = GUICtrlCreateMenuItem("狀態列", $iViewMenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $BUTTON1=GUICtrlCreateButton("模擬按下按鈕", 50, 130, 100, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)


    $iStatusLabel = GUICtrlCreateLabel($sStatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

    GUISetState(@SW_SHOW)

    While 1
      Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE,$iExit
                Exit

            Case $iInfoItem
                MsgBox(64, "資訊", "只是一個測試...")

            Case $iFileItem
                $sFilePath = FileOpenDialog("選擇檔...", @TempDir, "全部 (*.*)")
                If @error Then
                  ContinueLoop
                EndIf
                GUICtrlCreateMenuItem($sFilePath, $iRecentFilesMenu)

            Case $iViewStatusItem
                If BitAND(GUICtrlRead($iViewStatusItem), $GUI_CHECKED) = $GUI_CHECKED Then
                  GUICtrlSetState($iViewStatusItem, $GUI_UNCHECKED)
                  GUICtrlSetState($iStatusLabel, $GUI_HIDE)
                Else
                  GUICtrlSetState($iViewStatusItem, $GUI_CHECKED)
                  GUICtrlSetState($iStatusLabel, $GUI_SHOW)
                EndIf
                       
               Case $BUTTON1
                               
                  ControlClick ("","",$iInfoItem)
                               
      EndSwitch
    WEnd
EndFunc   ;==>_Main




如何 按下 $BUTTON1 會模擬點擊$iInfoItem   彈出   MsgBox(64, "資訊", "只是一個測試...")

zghwelcome 发表于 2016-10-22 15:20:40

WinMenuSelectItem("","","幫助","信息")

kk_lee69 发表于 2016-10-22 15:44:17

回复 2# zghwelcome

果然可以ㄟ

怪了 我記得我也測試過這個不成功

我在試看看感謝!!

kk_lee69 发表于 2016-10-22 15:46:44

回复 2# zghwelcome

我知道了 我測試的時候 字打錯了 @@

果然這樣就可以了感謝 幫助

zpmc123 发表于 2017-1-11 07:09:19

共享与帮助是本论坛最好的传统
页: [1]
查看完整版本: 如何对GUICtrlCreateMenu建立的MENU进行click的操作?[已解决]