Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 4.53 KB | None | 0 0
  1. #include <GuiToolbar.au3>
  2. #include <GuiConstantsEx.au3>
  3. #include <WindowsConstants.au3>
  4. #include <Constants.au3>
  5.  
  6. Opt('MustDeclareVars', 1)
  7. Opt('GUIOnEventMode', 1)
  8.  
  9. $Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
  10.  
  11. Global $hToolbar, $iMemo
  12. Global $iItem ; Command identifier of the button associated with the notification.
  13. Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
  14.  
  15.  
  16. Local $hGUI, $aSize
  17.  
  18. ; Create GUI
  19. $hGUI = GUICreate("Toolbar", 600, 400)
  20. GUISetOnEvent(-3, '_exit')
  21. $hToolbar = _GUICtrlToolbar_Create ($hGUI)
  22. $aSize = _GUICtrlToolbar_GetMaxSize ($hToolbar)
  23.  
  24. $iMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 20, 596, 396 - ($aSize[1] + 20), $WS_VSCROLL)
  25. GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
  26. GUISetState()
  27. GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
  28.  
  29. ; Add standard system bitmaps
  30. _GUICtrlToolbar_AddBitmap ($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
  31.  
  32. ; Add buttons
  33. _GUICtrlToolbar_AddButton ($hToolbar, $idNew, $STD_FILENEW)
  34. _GUICtrlToolbar_AddButton ($hToolbar, $idOpen, $STD_FILEOPEN)
  35. _GUICtrlToolbar_AddButton ($hToolbar, $idSave, $STD_FILESAVE)
  36. _GUICtrlToolbar_AddButtonSep ($hToolbar)
  37. _GUICtrlToolbar_AddButton ($hToolbar, $idHelp, $STD_HELP)
  38.  
  39. While 1
  40.     Sleep(50)
  41. WEnd
  42.  
  43. Func _exit()
  44.     Exit
  45. EndFunc
  46.  
  47. ; WM_NOTIFY event handler
  48. Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
  49.     #forceref $hWndGUI, $MsgID, $wParam
  50.     Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
  51.     Local $tNMTOOLBAR, $tNMTBHOTITEM
  52.     $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
  53.     $hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
  54.     $idFrom = DllStructGetData($tNMHDR, "IDFrom")
  55.     $code = DllStructGetData($tNMHDR, "Code")
  56.     Switch $hwndFrom
  57.         Case $hToolbar
  58.             Switch $code
  59.                 Case $NM_LDOWN
  60.                     ;----------------------------------------------------------------------------------------------
  61.                     MemoWrite("$NM_LDOWN: Clicked Item: " & $iItem & " at index: " & _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem))
  62.                     ;----------------------------------------------------------------------------------------------
  63.                 Case $TBN_HOTITEMCHANGE
  64.                     $tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam)
  65.                     $i_idOld = DllStructGetData($tNMTBHOTITEM, "idOld")
  66.                     $i_idNew = DllStructGetData($tNMTBHOTITEM, "idNew")
  67.                     $iItem = $i_idNew
  68.                     $dwFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags")
  69.                     If BitAND($dwFlags, $HICF_LEAVING) = $HICF_LEAVING Then
  70.                         MemoWrite("$HICF_LEAVING: " & $i_idOld)
  71.                     Else
  72.                         Switch $i_idNew
  73.                             Case $idNew
  74.                                 ;----------------------------------------------------------------------------------------------
  75.                                 MemoWrite("$TBN_HOTITEMCHANGE: $idNew")
  76.                                 ;----------------------------------------------------------------------------------------------
  77.                             Case $idOpen
  78.                                 ;----------------------------------------------------------------------------------------------
  79.                                 MemoWrite("$TBN_HOTITEMCHANGE: $idOpen")
  80.                                 ;----------------------------------------------------------------------------------------------
  81.                             Case $idSave
  82.                                 ;----------------------------------------------------------------------------------------------
  83.                                 MemoWrite("$TBN_HOTITEMCHANGE: $idSave")
  84.                                 ;----------------------------------------------------------------------------------------------
  85.                             Case $idHelp
  86.                                 ;----------------------------------------------------------------------------------------------
  87.                                 MemoWrite("$TBN_HOTITEMCHANGE: $idHelp")
  88.                                 ;----------------------------------------------------------------------------------------------
  89.                         EndSwitch
  90.                     EndIf
  91.             EndSwitch
  92.     EndSwitch
  93.     Return $GUI_RUNDEFMSG
  94. EndFunc   ;==>_WM_NOTIFY
  95.  
  96. ; Write message to memo
  97. Func MemoWrite($sMessage = "")
  98.     GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
  99. EndFunc   ;==>MemoWrite
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement