| 1 | #include <GuiMenu.au3>
|
|---|
| 2 | #include <GuiConstantsEx.au3>
|
|---|
| 3 | #include <WinAPI.au3>
|
|---|
| 4 | #include <WindowsConstants.au3>
|
|---|
| 5 |
|
|---|
| 6 | Opt('MustDeclareVars', 1)
|
|---|
| 7 |
|
|---|
| 8 | Global $iMemo
|
|---|
| 9 | Global Enum $idNew = 1000, $idOpen, $idSave, $idExit, $idCut, $idCopy, $idPaste, $idAbout
|
|---|
| 10 |
|
|---|
| 11 | _Main()
|
|---|
| 12 |
|
|---|
| 13 | Func _Main()
|
|---|
| 14 | Local $hGUI, $hFile, $hEdit, $hHelp, $hMain,$hMenu
|
|---|
| 15 |
|
|---|
| 16 | ; Create GUI
|
|---|
| 17 | $hGUI = GUICreate("Menu", 400, 300)
|
|---|
| 18 |
|
|---|
| 19 | ; Create File menu
|
|---|
| 20 | $hFile = _GUICtrlMenu_CreateMenu ()
|
|---|
| 21 | _GUICtrlMenu_InsertMenuItem ($hFile, 0, "&New", $idNew)
|
|---|
| 22 | _GUICtrlMenu_InsertMenuItem ($hFile, 1, "&Open", $idOpen)
|
|---|
| 23 | _GUICtrlMenu_InsertMenuItem ($hFile, 2, "&Save", $idSave)
|
|---|
| 24 | _GUICtrlMenu_InsertMenuItem ($hFile, 3, "", 0)
|
|---|
| 25 | _GUICtrlMenu_InsertMenuItem ($hFile, 4, "E&xit", $idExit)
|
|---|
| 26 |
|
|---|
| 27 | ; Create Edit menu
|
|---|
| 28 | $hEdit = _GUICtrlMenu_CreateMenu ()
|
|---|
| 29 | _GUICtrlMenu_InsertMenuItem ($hEdit, 0, "&Cut", $idCut)
|
|---|
| 30 | _GUICtrlMenu_InsertMenuItem ($hEdit, 1, "C&opy", $idCopy)
|
|---|
| 31 | _GUICtrlMenu_InsertMenuItem ($hEdit, 2, "&Paste", $idPaste)
|
|---|
| 32 |
|
|---|
| 33 | ; Create Help menu
|
|---|
| 34 | $hHelp = _GUICtrlMenu_CreateMenu ()
|
|---|
| 35 | _GUICtrlMenu_InsertMenuItem ($hHelp, 0, "&About", $idAbout)
|
|---|
| 36 |
|
|---|
| 37 | ; Create Main menu
|
|---|
| 38 | $hMain = _GUICtrlMenu_CreateMenu ()
|
|---|
| 39 | _GUICtrlMenu_InsertMenuItem ($hMain, 0, "&File", 0, $hFile)
|
|---|
| 40 | _GUICtrlMenu_InsertMenuItem ($hMain, 1, "&Edit", 0, $hEdit)
|
|---|
| 41 | _GUICtrlMenu_InsertMenuItem ($hMain, 2, "&Help", 0, $hHelp)
|
|---|
| 42 |
|
|---|
| 43 | ; Set window menu
|
|---|
| 44 | $hMenu = _GUICtrlMenu_SetMenu ($hGUI, $hMain)
|
|---|
| 45 |
|
|---|
| 46 | _GUICtrlMenu_EnableMenuItem($hFile,$idOpen,1,False)
|
|---|
| 47 |
|
|---|
| 48 | ; Create memo control
|
|---|
| 49 | $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 276, 0)
|
|---|
| 50 | GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
|
|---|
| 51 | GUISetState()
|
|---|
| 52 |
|
|---|
| 53 | ; Loop until user exits
|
|---|
| 54 | GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
|
|---|
| 55 |
|
|---|
| 56 | ; Loop until user exits
|
|---|
| 57 | Do
|
|---|
| 58 | Until GUIGetMsg() = $GUI_EVENT_CLOSE
|
|---|
| 59 | EndFunc ;==>_Main
|
|---|
| 60 |
|
|---|
| 61 | ; Handle menu commands
|
|---|
| 62 | Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
|
|---|
| 63 | Switch _WinAPI_LoWord ($iwParam)
|
|---|
| 64 | Case $idNew
|
|---|
| 65 | MemoWrite("New")
|
|---|
| 66 | Case $idOpen
|
|---|
| 67 | MemoWrite("Open")
|
|---|
| 68 | Case $idSave
|
|---|
| 69 | MemoWrite("Save")
|
|---|
| 70 | Case $idExit
|
|---|
| 71 | Exit
|
|---|
| 72 | Case $idCut
|
|---|
| 73 | MemoWrite("Cut")
|
|---|
| 74 | Case $idCopy
|
|---|
| 75 | MemoWrite("Copy")
|
|---|
| 76 | Case $idPaste
|
|---|
| 77 | MemoWrite("Paste")
|
|---|
| 78 | Case $idAbout
|
|---|
| 79 | MemoWrite("About")
|
|---|
| 80 | EndSwitch
|
|---|
| 81 | Return $GUI_RUNDEFMSG
|
|---|
| 82 | EndFunc ;==>WM_COMMAND
|
|---|
| 83 |
|
|---|
| 84 | ; Write message to memo
|
|---|
| 85 | Func MemoWrite($sMessage)
|
|---|
| 86 | GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
|
|---|
| 87 | EndFunc ;==>MemoWrite
|
|---|