Jump to content

Search the Community

Showing results for tags 'menuitem'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 2 results

  1. Hey all. I don't know if this is doable, but I would like to be able to create one of my menu items from the right corner instead of the left one. For example in this attached screenshot (http://imgur.com/a/AX3X0) I would like to put a new Item right-aligned (in yellow on the screenshot) instead of just after Help menu. Is there any way? Thanks a lot,
  2. I want to create a menu item and set the text to bold and the color to red, but I cannot find a UDF to do this. I want to make calls something like this: _GUICtrlMenu_SetItemFont($hMenu, $iIndex, $oFont) _GUICtrlMenu_SetItemColor($hMenu, $iIndex, $iColor) I want to make them UDFs so I don't have to add lots of code to the script that calls them. I've seen some on-line content, but what I found needed add too much code to support it. Here is my test code: #include <GuiMenu.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Array.au3> #include <FontConstants.au3> Opt('MustDeclareVars', 1) Opt("GUICloseOnESC", 1) ; 1 = ESC closes GUI Opt("GUIOnEventMode", 1) ; 1 = OnEvent mode OnAutoItExitRegister("ExitStageLeft") ; The $aMenuItems[] array holds information about each menu item. ; Each element holds items that are separated by a '|'. When each item is split ; into an array, the resulting array has this info: ; [0] = The item's Menu ID (from the '_GUICtrlMenu_AddMenuItem' function call ; [1] = The item's Font Number (0 = no special font; 1 = font #1, etc.)) ; [2] = The Item's Text Color value (0 = no special color, else: $COLOR_RED, $COLOR_BLUE, etc.) ; [3] = The item's menu index value ; [4] = The Item's Handler name Global Enum $__MI_ID, $__MI_FONTNUM, $__MI_COLOR, $__MI_NDX, $__MI_HANDLER, $__MI_CNT Global $aMenuItems Global $iMemo, $aFonts[2] Example() exit Func Example() Local $hGUI, $hFile, $hMain createFonts() $hGUI = GUICreate("Menu", 400, 300); Create the main GUI $aMenuItems = StringSplit("", "") ; Initialize the $aMenuItems[] array $hFile = _GUICtrlMenu_CreateMenu(); Create the File menu _myGUICtrlMenu_AddMenuItem($hFile, "&New", "handle_munuitem_New") _myGUICtrlMenu_AddMenuItem($hFile, "&Open", "handle_munuitem_Open") _myGUICtrlMenu_AddMenuItem($hFile, "") _myGUICtrlMenu_AddMenuItem($hFile, "I want this to be bold 12pt Red text", "handle_MenuItem_test", 0xFF0000, 1) _myGUICtrlMenu_AddMenuItem($hFile, "") _myGUICtrlMenu_AddMenuItem($hFile, "E&xit", "handle_munuitem_Exit") $hMain = _GUICtrlMenu_CreateMenu(); Create the Main menu _GUICtrlMenu_InsertMenuItem($hMain, 0, "&File", 0, $hFile) _GUICtrlMenu_SetMenu($hGUI, $hMain); Set the window menu ; Display the 'menu items' info array For $ndx = 0 To UBound($aMenuItems) - 1 ConsoleWrite("+++: [" & $ndx & "] = " & $aMenuItems[$ndx] & @CRLF) Next $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 276, 0); Create the memo control GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "ExitStageLeft") GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") MemoWrite("Click on the File menu and " & @crlf & "select one of the menu items.") ; Loop until the user exits. while(1) sleep(100) WEnd EndFunc ;==>Example ; Add a menu item, then add its info to the $aMenuItems[] array Func _myGUICtrlMenu_AddMenuItem($hMenu, $sTitle = "", $sHandler = "", $iColor = 0, $iFontnum = 0) Local $iIndex, $iCmdID, $ar[1], $fontnum, $str, $color $iIndex = _GUICtrlMenu_GetItemCount($hMenu) If ($sTitle <> "") Then $iCmdID = 1000 + $iIndex $iIndex = _GUICtrlMenu_AddMenuItem($hMenu, $sTitle, $iCmdID) If ($sHandler <> "") Then ; Create then populate a MenuItem info array ReDim $ar[$__MI_CNT] $ar[$__MI_ID] = $iCmdID $ar[$__MI_FONTNUM] = $iFontnum $ar[$__MI_COLOR] = $iColor $ar[$__MI_NDX] = $iIndex $ar[$__MI_HANDLER] = $sHandler $str = _ArrayToString($ar, "|", 0) _ArrayAdd($aMenuItems, $str) $aMenuItems[0] = UBound($aMenuItems) - 1 If ($iFontnum > 0) And ($iFontnum <= UBound($aFonts)) Then _GUICtrlMenu_SetItemFont($hMenu, $iIndex, $aFonts[$iFontnum-1]) EndIf If ($iColor <> 0) Then _GUICtrlMenu_SetItemColor($hMenu, $iIndex, $iColor) EndIf GUICtrlSetOnEvent($iCmdID, $sHandler) EndIf Else _GUICtrlMenu_AddMenuItem($hMenu, "") ; Add just a horizontal bar EndIf EndFunc ;==>_myGUICtrlMenu_AddMenuItem ; Handle menu commands Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) #forceref $hWnd, $iMsg, $ilParam Local $id, $parts, $handler $id = _WinAPI_LoWord($iwParam) ; See if this ID is in the list of items in the $aMenuItems[] array For $ndx = 1 To UBound($aMenuItems) - 1 $parts = StringSplit($aMenuItems[$ndx], "|", 2) If ($id = $parts[$__MI_ID]) Then MemoWrite("$id = " & $id) ; It is, so call the handler associated with it $handler = $parts[$__MI_HANDLER] Call($handler) ; Call the handler ExitLoop EndIf Next Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND Func handle_munuitem_New() MemoWrite("handle_munuitem_New") EndFunc ;==>handle_munuitem_New Func handle_munuitem_Open() MemoWrite("handle_munuitem_Open") EndFunc ;==>handle_munuitem_Open Func handle_MenuItem_test() MemoWrite("handle_MenuItem_test") EndFunc ;==>handle_MenuItem_test Func handle_munuitem_Exit() MemoWrite("handle_munuitem_Exit") EndFunc ;==>handle_munuitem_Exit Func ExitStageLeft() Exit (1) EndFunc ;==>ExitStageLeft ; Write message to memo Func MemoWrite($sMessage) Local Static $cnt = 0 $cnt += 1 GUICtrlSetData($iMemo, $sMessage & @CRLF, 1) ConsoleWrite("+++: " & StringFormat("%2d: %s", $cnt, $sMessage) & @CRLF) EndFunc ;==>MemoWrite Func createFonts() $aFonts[0] = _WinAPI_CreateFont(14, 0, 0, 0, $FW_NORMAL, _ False, False, False, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, _ $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, "MS Sans Serif") $aFonts[1] = _WinAPI_CreateFont(14, 0, 0, 0, $FW_BOLD) EndFunc ;==>createFonts Here is a skeleton of the UDF functions: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; _GUICtrlMenu_SetItemColor() - Set the color for the text in a menu item. ; ; PARAMS: $hMenu - The Handle of the menu the item's attached to ; $iIndex - The menu item number ; $iColor - The text color ; ; RETURNS: <nothing> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _GUICtrlMenu_SetItemColor($hMenu, $iIndex, $iColor) #forceref $hMenu, $iIndex, $iColor ConsoleWrite("+++: _GUICtrlMenu_SetItemColor(" & $hMenu & ", " & $iIndex & ", " & Hex($iColor) & ") entered" & @CRLF) ; TBD ... TBD ... TBD ... EndFunc ;==>_GUICtrlMenu_SetItemColor ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; _GUICtrlMenu_SetItemFont() - Set the font for the text in a menu item. ; ; PARAMS: $hMenu - The Handle of the menu the item's attached to ; $iIndex - The menu item number ; $iColor - The font object (as created by the _WinAPI_CreateFont() function). ; ; RETURNS: <nothing> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _GUICtrlMenu_SetItemFont($hMenu, $iIndex, $oFont) #forceref $hMenu, $iIndex, $fFont ConsoleWrite("+++: _GUICtrlMenu_SetItemFont(" & $hMenu & ", " & $iIndex & ", $oFont) entered" & @CRLF) ; TBD ... TBD ... TBD ... EndFunc ;==>_GUICtrlMenu_SetItemFont
×
×
  • Create New...