123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689 |
- #include-once
- #include "Memory.au3"
- #include "SendMessage.au3"
- #include "StructureConstants.au3"
- #include "ToolbarConstants.au3"
- #include "UDFGlobalID.au3"
- #include "WinAPIConstants.au3"
- #include "WinAPIConv.au3"
- #include "WinAPIRes.au3"
- #include "WinAPISysInternals.au3"
- ; #INDEX# =======================================================================================================================
- ; Title .........: Toolbar
- ; AutoIt Version : 3.3.14.5
- ; Language ......: English
- ; Description ...: Functions that assist with Toolbar control management.
- ; A toolbar is a control window that contains one or more buttons. Each button, when clicked by a user, sends a
- ; command message to the parent window. Typically, the buttons in a toolbar correspond to items in the
- ; application's menu, providing an additional and more direct way for the user to access an application's
- ; commands.
- ; Author(s) .....: Paul Campbell (PaulIA)
- ; ===============================================================================================================================
- ; #VARIABLES# ===================================================================================================================
- Global $__g_hTBLastWnd
- ; ===============================================================================================================================
- ; #CONSTANTS# ===================================================================================================================
- Global Const $__TOOLBARCONSTANT_ClassName = "ToolbarWindow32"
- Global Const $__TOOLBARCONSTANT_WS_CLIPSIBLINGS = 0x04000000
- Global Const $__TOOLBARCONSTANT_HINST_COMMCTRL = -1
- ; ===============================================================================================================================
- ; #CURRENT# =====================================================================================================================
- ; _GUICtrlToolbar_AddBitmap
- ; _GUICtrlToolbar_AddButton
- ; _GUICtrlToolbar_AddButtonSep
- ; _GUICtrlToolbar_AddString
- ; _GUICtrlToolbar_ButtonCount
- ; _GUICtrlToolbar_CheckButton
- ; _GUICtrlToolbar_ClickAccel
- ; _GUICtrlToolbar_ClickButton
- ; _GUICtrlToolbar_ClickIndex
- ; _GUICtrlToolbar_CommandToIndex
- ; _GUICtrlToolbar_Create
- ; _GUICtrlToolbar_Customize
- ; _GUICtrlToolbar_DeleteButton
- ; _GUICtrlToolbar_Destroy
- ; _GUICtrlToolbar_EnableButton
- ; _GUICtrlToolbar_FindToolbar
- ; _GUICtrlToolbar_GetAnchorHighlight
- ; _GUICtrlToolbar_GetBitmapFlags
- ; _GUICtrlToolbar_GetButtonBitmap
- ; _GUICtrlToolbar_GetButtonInfo
- ; _GUICtrlToolbar_GetButtonInfoEx
- ; _GUICtrlToolbar_GetButtonParam
- ; _GUICtrlToolbar_GetButtonRect
- ; _GUICtrlToolbar_GetButtonRectEx
- ; _GUICtrlToolbar_GetButtonSize
- ; _GUICtrlToolbar_GetButtonState
- ; _GUICtrlToolbar_GetButtonStyle
- ; _GUICtrlToolbar_GetButtonText
- ; _GUICtrlToolbar_GetColorScheme
- ; _GUICtrlToolbar_GetDisabledImageList
- ; _GUICtrlToolbar_GetExtendedStyle
- ; _GUICtrlToolbar_GetHotImageList
- ; _GUICtrlToolbar_GetHotItem
- ; _GUICtrlToolbar_GetImageList
- ; _GUICtrlToolbar_GetInsertMark
- ; _GUICtrlToolbar_GetInsertMarkColor
- ; _GUICtrlToolbar_GetMaxSize
- ; _GUICtrlToolbar_GetMetrics
- ; _GUICtrlToolbar_GetPadding
- ; _GUICtrlToolbar_GetRows
- ; _GUICtrlToolbar_GetString
- ; _GUICtrlToolbar_GetStyle
- ; _GUICtrlToolbar_GetStyleAltDrag
- ; _GUICtrlToolbar_GetStyleCustomErase
- ; _GUICtrlToolbar_GetStyleFlat
- ; _GUICtrlToolbar_GetStyleList
- ; _GUICtrlToolbar_GetStyleRegisterDrop
- ; _GUICtrlToolbar_GetStyleToolTips
- ; _GUICtrlToolbar_GetStyleTransparent
- ; _GUICtrlToolbar_GetStyleWrapable
- ; _GUICtrlToolbar_GetTextRows
- ; _GUICtrlToolbar_GetToolTips
- ; _GUICtrlToolbar_GetUnicodeFormat
- ; _GUICtrlToolbar_HideButton
- ; _GUICtrlToolbar_HighlightButton
- ; _GUICtrlToolbar_HitTest
- ; _GUICtrlToolbar_IndexToCommand
- ; _GUICtrlToolbar_InsertButton
- ; _GUICtrlToolbar_InsertMarkHitTest
- ; _GUICtrlToolbar_IsButtonChecked
- ; _GUICtrlToolbar_IsButtonEnabled
- ; _GUICtrlToolbar_IsButtonHidden
- ; _GUICtrlToolbar_IsButtonHighlighted
- ; _GUICtrlToolbar_IsButtonIndeterminate
- ; _GUICtrlToolbar_IsButtonPressed
- ; _GUICtrlToolbar_LoadBitmap
- ; _GUICtrlToolbar_LoadImages
- ; _GUICtrlToolbar_MapAccelerator
- ; _GUICtrlToolbar_MoveButton
- ; _GUICtrlToolbar_PressButton
- ; _GUICtrlToolbar_SetAnchorHighlight
- ; _GUICtrlToolbar_SetBitmapSize
- ; _GUICtrlToolbar_SetButtonBitMap
- ; _GUICtrlToolbar_SetButtonInfo
- ; _GUICtrlToolbar_SetButtonInfoEx
- ; _GUICtrlToolbar_SetButtonParam
- ; _GUICtrlToolbar_SetButtonSize
- ; _GUICtrlToolbar_SetButtonState
- ; _GUICtrlToolbar_SetButtonStyle
- ; _GUICtrlToolbar_SetButtonText
- ; _GUICtrlToolbar_SetButtonWidth
- ; _GUICtrlToolbar_SetCmdID
- ; _GUICtrlToolbar_SetColorScheme
- ; _GUICtrlToolbar_SetDisabledImageList
- ; _GUICtrlToolbar_SetDrawTextFlags
- ; _GUICtrlToolbar_SetExtendedStyle
- ; _GUICtrlToolbar_SetHotImageList
- ; _GUICtrlToolbar_SetHotItem
- ; _GUICtrlToolbar_SetImageList
- ; _GUICtrlToolbar_SetIndent
- ; _GUICtrlToolbar_SetIndeterminate
- ; _GUICtrlToolbar_SetInsertMark
- ; _GUICtrlToolbar_SetInsertMarkColor
- ; _GUICtrlToolbar_SetMaxTextRows
- ; _GUICtrlToolbar_SetMetrics
- ; _GUICtrlToolbar_SetPadding
- ; _GUICtrlToolbar_SetParent
- ; _GUICtrlToolbar_SetRows
- ; _GUICtrlToolbar_SetStyle
- ; _GUICtrlToolbar_SetStyleAltDrag
- ; _GUICtrlToolbar_SetStyleCustomErase
- ; _GUICtrlToolbar_SetStyleFlat
- ; _GUICtrlToolbar_SetStyleList
- ; _GUICtrlToolbar_SetStyleRegisterDrop
- ; _GUICtrlToolbar_SetStyleToolTips
- ; _GUICtrlToolbar_SetStyleTransparent
- ; _GUICtrlToolbar_SetStyleWrapable
- ; _GUICtrlToolbar_SetToolTips
- ; _GUICtrlToolbar_SetUnicodeFormat
- ; _GUICtrlToolbar_SetWindowTheme
- ; ===============================================================================================================================
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; $tagTBADDBITMAP
- ; $tagTBINSERTMARK
- ; $tagTBMETRICS
- ; __GUICtrlToolbar_AutoSize
- ; __GUICtrlToolbar_ButtonStructSize
- ; __GUICtrlToolbar_SetStyleEx
- ; ===============================================================================================================================
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTBADDBITMAP
- ; Description ...: Adds a bitmap that contains button images to a toolbar
- ; Fields ........: hInst - Handle to the module instance with the executable file that contains a bitmap resource. To use bitmap
- ; +handles instead of resource IDs, set this member to 0. You can add the system-defined button bitmaps to the
- ; +list by specifying $HINST_COMMCTRL as the hInst member and one of the following values as the ID member:
- ; |$IDB_STD_LARGE_COLOR - Adds large, color standard bitmaps
- ; |$IDB_STD_SMALL_COLOR - Adds small, color standard bitmaps
- ; |$IDB_VIEW_LARGE_COLOR - Adds large, color view bitmaps
- ; |$IDB_VIEW_SMALL_COLOR - Adds small, color view bitmaps
- ; ID - If hInst is 0, set this member to the bitmap handle of the bitmap with the button images. Otherwise,
- ; +set it to the resource identifier of the bitmap with the button images.
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTBADDBITMAP = "handle hInst;uint_ptr ID"
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTBINSERTMARK
- ; Description ...: Contains information on the insertion mark in a toolbar control
- ; Fields ........: Button - Zero based index of the insertion mark. If this member is -1, there is no insertion mark
- ; Flags - Defines where the insertion mark is in relation to Button. This can be one of the following values:
- ; |0 - The insertion mark is to the left of the specified button
- ; |$TBIMHT_AFTER - The insertion mark is to the right of the specified button
- ; |$TBIMHT_BACKGROUND - The insertion mark is on the background of the toolbar. This flag is only used with
- ; +the $TB_INSERTMARKHITTEST message.
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTBINSERTMARK = "int Button;dword Flags"
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTBMETRICS
- ; Description ...: Defines the metrics of a toolbar that are used to shrink or expand toolbar items
- ; Fields ........: Size - Size of this structure, in bytes
- ; Mask - Mask that determines the metric to retrieve. It can be any combination of the following:
- ; |$TBMF_PAD - Retrieve the XPad and YPad values
- ; |$TBMF_BARPAD - Retrieve the XBarPad and YBarPad values
- ; |$TBMF_BUTTONSPACING - Retrieve the XSpacing and YSpacing values
- ; XPad - Width of the padding inside the toolbar buttons
- ; YPad - Height of the padding inside the toolbar buttons
- ; XBarPad - Width of the toolbar. Not used.
- ; YBarPad - Height of the toolbar. Not used.
- ; XSpacing - Width of the space between toolbar buttons
- ; YSpacing - Height of the space between toolbar buttons
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTBMETRICS = "uint Size;dword Mask;int XPad;int YPad;int XBarPad;int YBarPad;int XSpacing;int YSpacing"
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_AddBitmap($hWnd, $iButtons, $hInst, $iID)
- Local $tBitmap = DllStructCreate($tagTBADDBITMAP)
- DllStructSetData($tBitmap, "hInst", $hInst)
- DllStructSetData($tBitmap, "ID", $iID)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_ADDBITMAP, $iButtons, $tBitmap, 0, "wparam", "struct*")
- Else
- Local $iBitmap = DllStructGetSize($tBitmap)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iBitmap, $tMemMap)
- _MemWrite($tMemMap, $tBitmap, $pMemory, $iBitmap)
- $iRet = _SendMessage($hWnd, $TB_ADDBITMAP, $iButtons, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet
- EndFunc ;==>_GUICtrlToolbar_AddBitmap
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_AddButton($hWnd, $iID, $iImage, $iString = 0, $iStyle = 0, $iState = 4, $iParam = 0)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $tButton = DllStructCreate($tagTBBUTTON)
- DllStructSetData($tButton, "Bitmap", $iImage)
- DllStructSetData($tButton, "Command", $iID)
- DllStructSetData($tButton, "State", $iState)
- DllStructSetData($tButton, "Style", $iStyle)
- DllStructSetData($tButton, "Param", $iParam)
- DllStructSetData($tButton, "String", $iString)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSW, 1, $tButton, 0, "wparam", "struct*")
- Else
- Local $iButton = DllStructGetSize($tButton)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
- _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSW, 1, $pMemory, 0, "wparam", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSA, 1, $pMemory, 0, "wparam", "ptr")
- EndIf
- _MemFree($tMemMap)
- EndIf
- __GUICtrlToolbar_AutoSize($hWnd)
- Return $iRet <> 0
- EndFunc ;==>_GUICtrlToolbar_AddButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_AddButtonSep($hWnd, $iWidth = 6)
- _GUICtrlToolbar_AddButton($hWnd, 0, $iWidth, 0, $BTNS_SEP)
- EndFunc ;==>_GUICtrlToolbar_AddButtonSep
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_AddString($hWnd, $sString)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $iBuffer = StringLen($sString) + 2
- Local $tBuffer
- If $bUnicode Then
- $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- Else
- $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
- EndIf
- DllStructSetData($tBuffer, "Text", $sString)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_ADDSTRINGW, 0, $tBuffer, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
- _MemWrite($tMemMap, $tBuffer, $pMemory, $iBuffer)
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_ADDSTRINGW, 0, $pMemory, 0, "wparam", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_ADDSTRINGA, 0, $pMemory, 0, "wparam", "ptr")
- EndIf
- _MemFree($tMemMap)
- EndIf
- Return $iRet
- EndFunc ;==>_GUICtrlToolbar_AddString
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: __GUICtrlToolbar_AutoSize
- ; Description ...: Causes a toolbar to be resized
- ; Syntax.........: __GUICtrlToolbar_AutoSize ( $hWnd )
- ; Parameters ....: $hWnd - Handle to the control
- ; Return values .:
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; Remarks .......: An application calls this function after causing the size of a toolbar to change by setting the button or
- ; bitmap size or by adding strings for the first time. Normally, you do not need to use this function as it is
- ; called internally as needed.
- ; Related .......:
- ; Link ..........:
- ; Example .......:
- ; ===============================================================================================================================
- Func __GUICtrlToolbar_AutoSize($hWnd)
- _SendMessage($hWnd, $TB_AUTOSIZE)
- EndFunc ;==>__GUICtrlToolbar_AutoSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_ButtonCount($hWnd)
- Return _SendMessage($hWnd, $TB_BUTTONCOUNT)
- EndFunc ;==>_GUICtrlToolbar_ButtonCount
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: __GUICtrlToolbar_ButtonStructSize
- ; Description ...: Specifies the size of the $tagTBBUTTON structure
- ; Syntax.........: __GUICtrlToolbar_ButtonStructSize ( $hWnd )
- ; Parameters ....: $hWnd - Handle to the control
- ; Return values .:
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; Remarks .......: This function is used to tell the control the size of a $tagTBBUTTON structure. Normally, you do not need to
- ; use this function as it is called internally when the control is created.
- ; Related .......: $tagTBBUTTON
- ; Link ..........:
- ; Example .......:
- ; ===============================================================================================================================
- Func __GUICtrlToolbar_ButtonStructSize($hWnd)
- Local $tButton = DllStructCreate($tagTBBUTTON)
- _SendMessage($hWnd, $TB_BUTTONSTRUCTSIZE, DllStructGetSize($tButton), 0, 0, "wparam", "ptr")
- EndFunc ;==>__GUICtrlToolbar_ButtonStructSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_CheckButton($hWnd, $iCommandID, $bCheck = True)
- Return _SendMessage($hWnd, $TB_CHECKBUTTON, $iCommandID, $bCheck) <> 0
- EndFunc ;==>_GUICtrlToolbar_CheckButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_ClickAccel($hWnd, $sAccelKey, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
- Local $iID = _GUICtrlToolbar_MapAccelerator($hWnd, $sAccelKey)
- _GUICtrlToolbar_ClickButton($hWnd, $iID, $sButton, $bMove, $iClicks, $iSpeed)
- EndFunc ;==>_GUICtrlToolbar_ClickAccel
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_ClickButton($hWnd, $iCommandID, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
- Local $tRECT = _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
- Local $tPoint = _WinAPI_PointFromRect($tRECT)
- $tPoint = _WinAPI_ClientToScreen($hWnd, $tPoint)
- Local $iX, $iY
- _WinAPI_GetXYFromPoint($tPoint, $iX, $iY)
- Local $iMode = Opt("MouseCoordMode", 1)
- If Not $bMove Then
- Local $aPos = MouseGetPos()
- _WinAPI_ShowCursor(False)
- MouseClick($sButton, $iX, $iY, $iClicks, $iSpeed)
- MouseMove($aPos[0], $aPos[1], 0)
- _WinAPI_ShowCursor(True)
- Else
- MouseClick($sButton, $iX, $iY, $iClicks, $iSpeed)
- EndIf
- Opt("MouseCoordMode", $iMode)
- EndFunc ;==>_GUICtrlToolbar_ClickButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_ClickIndex($hWnd, $iIndex, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
- Local $iCommandID = _GUICtrlToolbar_IndexToCommand($hWnd, $iIndex)
- _GUICtrlToolbar_ClickButton($hWnd, $iCommandID, $sButton, $bMove, $iClicks, $iSpeed)
- EndFunc ;==>_GUICtrlToolbar_ClickIndex
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_CommandToIndex($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_COMMANDTOINDEX, $iCommandID)
- EndFunc ;==>_GUICtrlToolbar_CommandToIndex
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_Create($hWnd, $iStyle = 0x00000800, $iExStyle = 0x00000000)
- $iStyle = BitOR($iStyle, $__UDFGUICONSTANT_WS_CHILD, $__TOOLBARCONSTANT_WS_CLIPSIBLINGS, $__UDFGUICONSTANT_WS_VISIBLE)
- Local $nCtrlID = __UDF_GetNextGlobalID($hWnd)
- If @error Then Return SetError(@error, @extended, 0)
- Local $hTool = _WinAPI_CreateWindowEx($iExStyle, $__TOOLBARCONSTANT_ClassName, "", $iStyle, 0, 0, 0, 0, $hWnd, $nCtrlID)
- __GUICtrlToolbar_ButtonStructSize($hTool)
- Return $hTool
- EndFunc ;==>_GUICtrlToolbar_Create
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_Customize($hWnd)
- _SendMessage($hWnd, $TB_CUSTOMIZE)
- EndFunc ;==>_GUICtrlToolbar_Customize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_DeleteButton($hWnd, $iCommandID)
- Local $iIndex = _GUICtrlToolbar_CommandToIndex($hWnd, $iCommandID)
- If $iIndex = -1 Then Return SetError(-1, 0, False)
- Return _SendMessage($hWnd, $TB_DELETEBUTTON, $iIndex) <> 0
- EndFunc ;==>_GUICtrlToolbar_DeleteButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Gary Frost (gafrost)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_Destroy(ByRef $hWnd)
- If Not _WinAPI_IsClassName($hWnd, $__TOOLBARCONSTANT_ClassName) Then Return SetError(2, 2, False)
- Local $iDestroyed = 0
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- Local $nCtrlID = _WinAPI_GetDlgCtrlID($hWnd)
- Local $hParent = _WinAPI_GetParent($hWnd)
- $iDestroyed = _WinAPI_DestroyWindow($hWnd)
- Local $iRet = __UDF_FreeGlobalID($hParent, $nCtrlID)
- If Not $iRet Then
- ; can check for errors here if needed, for debug
- EndIf
- Else
- ; Not Allowed to Destroy Other Applications Control(s)
- Return SetError(1, 1, False)
- EndIf
- If $iDestroyed Then $hWnd = 0
- Return $iDestroyed <> 0
- EndFunc ;==>_GUICtrlToolbar_Destroy
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_EnableButton($hWnd, $iCommandID, $bEnable = True)
- Return _SendMessage($hWnd, $TB_ENABLEBUTTON, $iCommandID, $bEnable) <> 0
- EndFunc ;==>_GUICtrlToolbar_EnableButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_FindToolbar($hWnd, $sText)
- Local $iCommandID, $hToolbar
- If Not _WinAPI_IsWindow($hWnd) Then
- $hWnd = WinGetHandle($hWnd)
- If @error Then Return SetError(-1, -1, 0)
- EndIf
- Local $aWinList = _WinAPI_EnumWindows(True, $hWnd)
- For $iI = 1 To $aWinList[0][0]
- If $aWinList[$iI][1] = $__TOOLBARCONSTANT_ClassName Then
- $hToolbar = $aWinList[$iI][0]
- For $iJ = 0 To _GUICtrlToolbar_ButtonCount($hToolbar) - 1
- $iCommandID = _GUICtrlToolbar_IndexToCommand($hToolbar, $iJ)
- If _GUICtrlToolbar_GetButtonText($hToolbar, $iCommandID) = $sText Then Return $hToolbar
- Next
- EndIf
- Next
- Return SetError(-2, -2, 0)
- EndFunc ;==>_GUICtrlToolbar_FindToolbar
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetAnchorHighlight($hWnd)
- Return _SendMessage($hWnd, $TB_GETANCHORHIGHLIGHT) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetAnchorHighlight
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetBitmapFlags($hWnd)
- Return _SendMessage($hWnd, $TB_GETBITMAPFLAGS)
- EndFunc ;==>_GUICtrlToolbar_GetBitmapFlags
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonBitmap($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_GETBITMAP, $iCommandID)
- EndFunc ;==>_GUICtrlToolbar_GetButtonBitmap
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonInfo($hWnd, $iCommandID)
- Local $aButton[5]
- Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
- $aButton[0] = DllStructGetData($tButton, "Image")
- $aButton[1] = DllStructGetData($tButton, "State")
- $aButton[2] = DllStructGetData($tButton, "Style")
- $aButton[3] = DllStructGetData($tButton, "CX")
- $aButton[4] = DllStructGetData($tButton, "Param")
- Return $aButton
- EndFunc ;==>_GUICtrlToolbar_GetButtonInfo
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $tButton = DllStructCreate($tagTBBUTTONINFO)
- Local $iButton = DllStructGetSize($tButton)
- Local $iMask = BitOR($TBIF_IMAGE, $TBIF_STATE, $TBIF_STYLE, $TBIF_LPARAM, $TBIF_SIZE)
- DllStructSetData($tButton, "Size", $iButton)
- DllStructSetData($tButton, "Mask", $iMask)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOW, $iCommandID, $tButton, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
- _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOW, $iCommandID, $pMemory, 0, "wparam", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOA, $iCommandID, $pMemory, 0, "wparam", "ptr")
- EndIf
- _MemRead($tMemMap, $pMemory, $tButton, $iButton)
- _MemFree($tMemMap)
- EndIf
- Return SetError($iRet = -1, 0, $tButton)
- EndFunc ;==>_GUICtrlToolbar_GetButtonInfoEx
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonParam($hWnd, $iCommandID)
- Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
- Return DllStructGetData($tButton, "Param")
- EndFunc ;==>_GUICtrlToolbar_GetButtonParam
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonRect($hWnd, $iCommandID)
- Local $aRect[4]
- Local $tRECT = _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
- $aRect[0] = DllStructGetData($tRECT, "Left")
- $aRect[1] = DllStructGetData($tRECT, "Top")
- $aRect[2] = DllStructGetData($tRECT, "Right")
- $aRect[3] = DllStructGetData($tRECT, "Bottom")
- Return $aRect
- EndFunc ;==>_GUICtrlToolbar_GetButtonRect
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
- Local $tRECT = DllStructCreate($tagRECT)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_GETRECT, $iCommandID, $tRECT, 0, "wparam", "struct*")
- Else
- Local $iRect = DllStructGetSize($tRECT)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
- _SendMessage($hWnd, $TB_GETRECT, $iCommandID, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
- _MemFree($tMemMap)
- EndIf
- Return $tRECT
- EndFunc ;==>_GUICtrlToolbar_GetButtonRectEx
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonSize($hWnd)
- Local $aSize[2]
- Local $iRet = _SendMessage($hWnd, $TB_GETBUTTONSIZE)
- $aSize[0] = _WinAPI_HiWord($iRet)
- $aSize[1] = _WinAPI_LoWord($iRet)
- Return $aSize
- EndFunc ;==>_GUICtrlToolbar_GetButtonSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonState($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_GETSTATE, $iCommandID)
- EndFunc ;==>_GUICtrlToolbar_GetButtonState
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonStyle($hWnd, $iCommandID)
- Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
- Return DllStructGetData($tButton, "Style")
- EndFunc ;==>_GUICtrlToolbar_GetButtonStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetButtonText($hWnd, $iCommandID)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $iBuffer
- If $bUnicode Then
- $iBuffer = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID)
- Else
- $iBuffer = _SendMessage($hWnd, $TB_GETBUTTONTEXTA, $iCommandID)
- EndIf
- If $iBuffer = 0 Then Return SetError(True, 0, "")
- If $iBuffer = 1 Then Return SetError(False, 0, "")
- If $iBuffer <= -1 Then Return SetError(False, -1, "")
- $iBuffer += 1
- Local $tBuffer
- If $bUnicode Then
- $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- Else
- $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
- EndIf
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID, $tBuffer, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID, $pMemory, 0, "wparam", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTA, $iCommandID, $pMemory, 0, "wparam", "ptr")
- EndIf
- _MemRead($tMemMap, $pMemory, $tBuffer, $iBuffer)
- _MemFree($tMemMap)
- EndIf
- Return SetError($iRet > 0, 0, DllStructGetData($tBuffer, "Text"))
- EndFunc ;==>_GUICtrlToolbar_GetButtonText
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetColorScheme($hWnd)
- Local $aColor[2], $iRet
- Local $tColor = DllStructCreate($tagCOLORSCHEME)
- Local $iColor = DllStructGetSize($tColor)
- DllStructSetData($tColor, "Size", $iColor)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETCOLORSCHEME, 0, $tColor, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iColor, $tMemMap)
- $iRet = _SendMessage($hWnd, $TB_GETCOLORSCHEME, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tColor, $iColor)
- _MemFree($tMemMap)
- EndIf
- $aColor[0] = DllStructGetData($tColor, "BtnHighlight")
- $aColor[1] = DllStructGetData($tColor, "BtnShadow")
- Return SetError($iRet = 0, 0, $aColor)
- EndFunc ;==>_GUICtrlToolbar_GetColorScheme
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetDisabledImageList($hWnd)
- Return Ptr(_SendMessage($hWnd, $TB_GETDISABLEDIMAGELIST))
- EndFunc ;==>_GUICtrlToolbar_GetDisabledImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetExtendedStyle($hWnd)
- Return _SendMessage($hWnd, $TB_GETEXTENDEDSTYLE)
- EndFunc ;==>_GUICtrlToolbar_GetExtendedStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetHotImageList($hWnd)
- Return Ptr(_SendMessage($hWnd, $TB_GETHOTIMAGELIST))
- EndFunc ;==>_GUICtrlToolbar_GetHotImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetHotItem($hWnd)
- Return _SendMessage($hWnd, $TB_GETHOTITEM)
- EndFunc ;==>_GUICtrlToolbar_GetHotItem
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetImageList($hWnd)
- Return Ptr(_SendMessage($hWnd, $TB_GETIMAGELIST))
- EndFunc ;==>_GUICtrlToolbar_GetImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetInsertMark($hWnd)
- Local $aMark[2], $iRet
- Local $tMark = DllStructCreate($tagTBINSERTMARK)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETINSERTMARK, 0, $tMark, 0, "wparam", "struct*")
- Else
- Local $iMark = DllStructGetSize($tMark)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iMark, $tMemMap)
- $iRet = _SendMessage($hWnd, $TB_GETINSERTMARK, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tMark, $iMark)
- _MemFree($tMemMap)
- EndIf
- $aMark[0] = DllStructGetData($tMark, "Button")
- $aMark[1] = DllStructGetData($tMark, "Flags")
- Return SetError($iRet <> 0, 0, $aMark)
- EndFunc ;==>_GUICtrlToolbar_GetInsertMark
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetInsertMarkColor($hWnd)
- Return _SendMessage($hWnd, $TB_GETINSERTMARKCOLOR)
- EndFunc ;==>_GUICtrlToolbar_GetInsertMarkColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetMaxSize($hWnd)
- Local $aSize[2], $iRet
- Local $tSize = DllStructCreate($tagSIZE)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETMAXSIZE, 0, $tSize, 0, "wparam", "struct*")
- Else
- Local $iSize = DllStructGetSize($tSize)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iSize, $tMemMap)
- $iRet = _SendMessage($hWnd, $TB_GETMAXSIZE, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tSize, $iSize)
- _MemFree($tMemMap)
- EndIf
- $aSize[0] = DllStructGetData($tSize, "X")
- $aSize[1] = DllStructGetData($tSize, "Y")
- Return SetError($iRet = 0, 0, $aSize)
- EndFunc ;==>_GUICtrlToolbar_GetMaxSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetMetrics($hWnd)
- Local $aMetrics[4]
- Local $tMetrics = DllStructCreate($tagTBMETRICS)
- Local $iMetrics = DllStructGetSize($tMetrics)
- Local $iMask = BitOR($TBMF_PAD, $TBMF_BUTTONSPACING)
- DllStructSetData($tMetrics, "Size", $iMetrics)
- DllStructSetData($tMetrics, "Mask", $iMask)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_GETMETRICS, 0, $tMetrics, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iMetrics, $tMemMap)
- _SendMessage($hWnd, $TB_GETMETRICS, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tMetrics, $iMetrics)
- _MemFree($tMemMap)
- EndIf
- $aMetrics[0] = DllStructGetData($tMetrics, "XPad")
- $aMetrics[1] = DllStructGetData($tMetrics, "YPad")
- $aMetrics[2] = DllStructGetData($tMetrics, "XSpacing")
- $aMetrics[3] = DllStructGetData($tMetrics, "YSpacing")
- Return $aMetrics
- EndFunc ;==>_GUICtrlToolbar_GetMetrics
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetPadding($hWnd)
- Local $aPad[2]
- Local $iPad = _SendMessage($hWnd, $TB_GETPADDING)
- $aPad[0] = _WinAPI_LoWord($iPad)
- $aPad[1] = _WinAPI_HiWord($iPad)
- Return $aPad
- EndFunc ;==>_GUICtrlToolbar_GetPadding
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetRows($hWnd)
- Return _SendMessage($hWnd, $TB_GETROWS)
- EndFunc ;==>_GUICtrlToolbar_GetRows
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetString($hWnd, $iIndex)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $iBuffer
- If $bUnicode Then
- $iBuffer = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong(0, $iIndex), 0, 0, "long") + 1
- Else
- $iBuffer = _SendMessage($hWnd, $TB_GETSTRINGA, _WinAPI_MakeLong(0, $iIndex), 0, 0, "long") + 1
- EndIf
- If $iBuffer = 0 Then Return SetError(-1, 0, "")
- If $iBuffer = 1 Then Return ""
- Local $tBuffer
- If $bUnicode Then
- $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- Else
- $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
- EndIf
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong($iBuffer, $iIndex), $tBuffer, 0, "long", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong($iBuffer, $iIndex), $pMemory, 0, "long", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_GETSTRINGA, _WinAPI_MakeLong($iBuffer, $iIndex), $pMemory, 0, "long", "ptr")
- EndIf
- _MemRead($tMemMap, $pMemory, $tBuffer, $iBuffer)
- _MemFree($tMemMap)
- EndIf
- Return SetError($iRet = -1, 0, DllStructGetData($tBuffer, "Text"))
- EndFunc ;==>_GUICtrlToolbar_GetString
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyle($hWnd)
- Return _SendMessage($hWnd, $TB_GETSTYLE)
- EndFunc ;==>_GUICtrlToolbar_GetStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleAltDrag($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_ALTDRAG) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleAltDrag
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleCustomErase($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_CUSTOMERASE) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleCustomErase
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleFlat($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_FLAT) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleFlat
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleList($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_LIST) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleRegisterDrop($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_REGISTERDROP) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleRegisterDrop
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleToolTips($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_TOOLTIPS) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleToolTips
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleTransparent($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_TRANSPARENT) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleTransparent
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetStyleWrapable($hWnd)
- Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_WRAPABLE) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetStyleWrapable
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetTextRows($hWnd)
- Return _SendMessage($hWnd, $TB_GETTEXTROWS)
- EndFunc ;==>_GUICtrlToolbar_GetTextRows
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetToolTips($hWnd)
- Return HWnd(_SendMessage($hWnd, $TB_GETTOOLTIPS))
- EndFunc ;==>_GUICtrlToolbar_GetToolTips
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Return _SendMessage($hWnd, $TB_GETUNICODEFORMAT) <> 0
- EndFunc ;==>_GUICtrlToolbar_GetUnicodeFormat
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_HideButton($hWnd, $iCommandID, $bHide = True)
- Return _SendMessage($hWnd, $TB_HIDEBUTTON, $iCommandID, $bHide) <> 0
- EndFunc ;==>_GUICtrlToolbar_HideButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_HighlightButton($hWnd, $iCommandID, $bHighlight = True)
- Return _SendMessage($hWnd, $TB_MARKBUTTON, $iCommandID, $bHighlight) <> 0
- EndFunc ;==>_GUICtrlToolbar_HighlightButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_HitTest($hWnd, $iX, $iY)
- Local $tPoint = DllStructCreate($tagPOINT)
- DllStructSetData($tPoint, "X", $iX)
- DllStructSetData($tPoint, "Y", $iY)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_HITTEST, 0, $tPoint, 0, "wparam", "struct*")
- Else
- Local $iPoint = DllStructGetSize($tPoint)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iPoint, $tMemMap)
- _MemWrite($tMemMap, $tPoint, $pMemory, $iPoint)
- $iRet = _SendMessage($hWnd, $TB_HITTEST, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet
- EndFunc ;==>_GUICtrlToolbar_HitTest
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IndexToCommand($hWnd, $iIndex)
- Local $tButton = DllStructCreate($tagTBBUTTON)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_GETBUTTON, $iIndex, $tButton, 0, "wparam", "struct*")
- Else
- Local $iButton = DllStructGetSize($tButton)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
- _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
- _SendMessage($hWnd, $TB_GETBUTTON, $iIndex, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tButton, $iButton)
- _MemFree($tMemMap)
- EndIf
- Return DllStructGetData($tButton, "Command")
- EndFunc ;==>_GUICtrlToolbar_IndexToCommand
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_InsertButton($hWnd, $iIndex, $iID, $iImage, $sText = "", $iStyle = 0, $iState = 4, $iParam = 0)
- Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
- Local $tBuffer, $iRet
- Local $tButton = DllStructCreate($tagTBBUTTON)
- Local $iBuffer = StringLen($sText) + 1
- If $iBuffer > 1 Then
- If $bUnicode Then
- $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- Else
- $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
- EndIf
- DllStructSetData($tBuffer, "Text", $sText)
- DllStructSetData($tButton, "String", DllStructGetPtr($tBuffer))
- EndIf
- DllStructSetData($tButton, "Bitmap", $iImage)
- DllStructSetData($tButton, "Command", $iID)
- DllStructSetData($tButton, "State", $iState)
- DllStructSetData($tButton, "Style", $iStyle)
- DllStructSetData($tButton, "Param", $iParam)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONW, $iIndex, $tButton, 0, "wparam", "struct*")
- Else
- Local $iButton = DllStructGetSize($tButton)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iButton + $iBuffer, $tMemMap)
- Local $pText = $pMemory + $iButton
- _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
- If $iBuffer > 1 Then
- DllStructSetData($tButton, "String", $pText)
- _MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
- EndIf
- If $bUnicode Then
- $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONW, $iIndex, $pMemory, 0, "wparam", "ptr")
- Else
- $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONA, $iIndex, $pMemory, 0, "wparam", "ptr")
- EndIf
- _MemFree($tMemMap)
- EndIf
- Return $iRet <> 0
- EndFunc ;==>_GUICtrlToolbar_InsertButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_InsertMarkHitTest($hWnd, $iX, $iY)
- Local $aMark[2], $iRet
- Local $tPoint = DllStructCreate($tagPOINT)
- Local $tMark = DllStructCreate($tagTBINSERTMARK)
- DllStructSetData($tPoint, "X", $iX)
- DllStructSetData($tPoint, "Y", $iY)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_INSERTMARKHITTEST, $tPoint, $tMark, 0, "struct*", "struct*")
- Else
- Local $iPoint = DllStructGetSize($tPoint)
- Local $iMark = DllStructGetSize($tMark)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iPoint + $iMark, $tMemMap)
- Local $pMarkPtr = $pMemory + $iPoint
- _MemWrite($tMemMap, $tPoint, $pMemory, $iPoint)
- $iRet = _SendMessage($hWnd, $TB_INSERTMARKHITTEST, $pMemory, $pMarkPtr, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMarkPtr, $tMark, $iMark)
- _MemFree($tMemMap)
- EndIf
- $aMark[0] = DllStructGetData($tMark, "Button")
- $aMark[1] = DllStructGetData($tMark, "Flags")
- Return SetError($iRet <> 0, 0, $aMark)
- EndFunc ;==>_GUICtrlToolbar_InsertMarkHitTest
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonChecked($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONCHECKED, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonChecked
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonEnabled($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONENABLED, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonEnabled
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonHidden($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONHIDDEN, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonHidden
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonHighlighted($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONHIGHLIGHTED, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonHighlighted
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonIndeterminate($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONINDETERMINATE, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonIndeterminate
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_IsButtonPressed($hWnd, $iCommandID)
- Return _SendMessage($hWnd, $TB_ISBUTTONPRESSED, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_IsButtonPressed
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_LoadBitmap($hWnd, $sFileName)
- Local $aSize = _GUICtrlToolbar_GetButtonSize($hWnd)
- Local $hBitmap = _WinAPI_LoadImage(0, $sFileName, 0, $aSize[1], $aSize[0], $LR_LOADFROMFILE)
- If $hBitmap = 0 Then Return SetError(-1, -1, -1)
- Return _GUICtrlToolbar_AddBitmap($hWnd, 1, 0, $hBitmap)
- EndFunc ;==>_GUICtrlToolbar_LoadBitmap
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_LoadImages($hWnd, $iBitMapID)
- Return _SendMessage($hWnd, $TB_LOADIMAGES, $iBitMapID, $__TOOLBARCONSTANT_HINST_COMMCTRL)
- EndFunc ;==>_GUICtrlToolbar_LoadImages
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_MapAccelerator($hWnd, $sAccelKey)
- Local $tCommand = DllStructCreate("int Data")
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_MAPACCELERATORW, Asc($sAccelKey), $tCommand, 0, "wparam", "struct*")
- Else
- Local $iCommand = DllStructGetSize($tCommand)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iCommand, $tMemMap)
- _SendMessage($hWnd, $TB_MAPACCELERATORW, Asc($sAccelKey), $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tCommand, $iCommand)
- _MemFree($tMemMap)
- EndIf
- Return DllStructGetData($tCommand, "Data")
- EndFunc ;==>_GUICtrlToolbar_MapAccelerator
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_MoveButton($hWnd, $iOldPos, $iNewPos)
- Return _SendMessage($hWnd, $TB_MOVEBUTTON, $iOldPos, $iNewPos) <> 0
- EndFunc ;==>_GUICtrlToolbar_MoveButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_PressButton($hWnd, $iCommandID, $bPress = True)
- Return _SendMessage($hWnd, $TB_PRESSBUTTON, $iCommandID, $bPress) <> 0
- EndFunc ;==>_GUICtrlToolbar_PressButton
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetAnchorHighlight($hWnd, $bAnchor)
- Return _SendMessage($hWnd, $TB_SETANCHORHIGHLIGHT, $bAnchor)
- EndFunc ;==>_GUICtrlToolbar_SetAnchorHighlight
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetBitmapSize($hWnd, $iWidth, $iHeight)
- Return _SendMessage($hWnd, $TB_SETBITMAPSIZE, 0, _WinAPI_MakeLong($iWidth, $iHeight), 0, "wparam", "long") <> 0
- EndFunc ;==>_GUICtrlToolbar_SetBitmapSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonBitMap($hWnd, $iCommandID, $iIndex)
- Return _SendMessage($hWnd, $TB_CHANGEBITMAP, $iCommandID, $iIndex) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetButtonBitMap
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonInfo($hWnd, $iCommandID, $iImage = -3, $iState = -1, $iStyle = -1, $iWidth = -1, $iParam = -1)
- Local $iMask = 0
- Local $tButton = DllStructCreate($tagTBBUTTONINFO)
- If $iImage <> -3 Then
- $iMask = $TBIF_IMAGE
- DllStructSetData($tButton, "Image", $iImage)
- EndIf
- If $iState <> -1 Then
- $iMask = BitOR($iMask, $TBIF_STATE)
- DllStructSetData($tButton, "State", $iState)
- EndIf
- If $iStyle <> -1 Then
- $iMask = BitOR($iMask, $TBIF_STYLE)
- DllStructSetData($tButton, "Style", $iStyle)
- EndIf
- If $iWidth <> -1 Then
- $iMask = BitOR($iMask, $TBIF_SIZE)
- DllStructSetData($tButton, "CX", $iWidth)
- EndIf
- If $iParam <> -1 Then
- $iMask = BitOR($iMask, $TBIF_LPARAM)
- DllStructSetData($tButton, "Param", $iParam)
- EndIf
- DllStructSetData($tButton, "Mask", $iMask)
- Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
- EndFunc ;==>_GUICtrlToolbar_SetButtonInfo
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
- Local $iButton = DllStructGetSize($tButton)
- DllStructSetData($tButton, "Size", $iButton)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- $iRet = _SendMessage($hWnd, $TB_SETBUTTONINFOW, $iCommandID, $tButton, 0, "wparam", "struct*")
- Else
- Local $iBuffer = DllStructGetData($tButton, "TextMax")
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iButton + $iBuffer, $tMemMap)
- Local $pBuffer = $pMemory + $iButton
- DllStructSetData($tButton, "Text", $pBuffer)
- _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
- _MemWrite($tMemMap, $pBuffer, $pBuffer, $iBuffer)
- $iRet = _SendMessage($hWnd, $TB_SETBUTTONINFOW, $iCommandID, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet <> 0
- EndFunc ;==>_GUICtrlToolbar_SetButtonInfoEx
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonParam($hWnd, $iCommandID, $iParam)
- Local $tButton = DllStructCreate($tagTBBUTTONINFO)
- DllStructSetData($tButton, "Mask", $TBIF_LPARAM)
- DllStructSetData($tButton, "Param", $iParam)
- Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
- EndFunc ;==>_GUICtrlToolbar_SetButtonParam
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonSize($hWnd, $iHeight, $iWidth)
- Return _SendMessage($hWnd, $TB_SETBUTTONSIZE, 0, _WinAPI_MakeLong($iWidth, $iHeight), 0, "wparam", "long") <> 0
- EndFunc ;==>_GUICtrlToolbar_SetButtonSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonState($hWnd, $iCommandID, $iState)
- Return _SendMessage($hWnd, $TB_SETSTATE, $iCommandID, $iState) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetButtonState
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonStyle($hWnd, $iCommandID, $iStyle)
- Local $tButton = DllStructCreate($tagTBBUTTONINFO)
- DllStructSetData($tButton, "Mask", $TBIF_STYLE)
- DllStructSetData($tButton, "Style", $iStyle)
- Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
- EndFunc ;==>_GUICtrlToolbar_SetButtonStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonText($hWnd, $iCommandID, $sText)
- Local $iBuffer = StringLen($sText) + 1
- Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer * 2 & "]")
- $iBuffer *= 2
- Local $pBuffer = DllStructGetPtr($tBuffer)
- Local $tButton = DllStructCreate($tagTBBUTTONINFO)
- DllStructSetData($tBuffer, "Text", $sText)
- DllStructSetData($tButton, "Mask", $TBIF_TEXT)
- DllStructSetData($tButton, "Text", $pBuffer)
- DllStructSetData($tButton, "TextMax", $iBuffer)
- Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
- EndFunc ;==>_GUICtrlToolbar_SetButtonText
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetButtonWidth($hWnd, $iMin, $iMax)
- Return _SendMessage($hWnd, $TB_SETBUTTONWIDTH, 0, _WinAPI_MakeLong($iMin, $iMax), 0, "wparam", "long") <> 0
- EndFunc ;==>_GUICtrlToolbar_SetButtonWidth
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetCmdID($hWnd, $iIndex, $iCommandID)
- Return _SendMessage($hWnd, $TB_SETCMDID, $iIndex, $iCommandID) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetCmdID
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetColorScheme($hWnd, $iHighlight, $iShadow)
- Local $tColor = DllStructCreate($tagCOLORSCHEME)
- Local $iColor = DllStructGetSize($tColor)
- DllStructSetData($tColor, "Size", $iColor)
- DllStructSetData($tColor, "BtnHighlight", $iHighlight)
- DllStructSetData($tColor, "BtnShadow", $iShadow)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_SETCOLORSCHEME, 0, $tColor, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iColor, $tMemMap)
- _MemWrite($tMemMap, $tColor, $pMemory, $iColor)
- _SendMessage($hWnd, $TB_SETCOLORSCHEME, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUICtrlToolbar_SetColorScheme
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetDisabledImageList($hWnd, $hImageList)
- Return _SendMessage($hWnd, $TB_SETDISABLEDIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
- EndFunc ;==>_GUICtrlToolbar_SetDisabledImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetDrawTextFlags($hWnd, $iMask, $iDTFlags)
- Return _SendMessage($hWnd, $TB_SETDRAWTEXTFLAGS, $iMask, $iDTFlags)
- EndFunc ;==>_GUICtrlToolbar_SetDrawTextFlags
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetExtendedStyle($hWnd, $iStyle)
- Return _SendMessage($hWnd, $TB_SETEXTENDEDSTYLE, 0, $iStyle)
- EndFunc ;==>_GUICtrlToolbar_SetExtendedStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetHotImageList($hWnd, $hImageList)
- Return _SendMessage($hWnd, $TB_SETHOTIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
- EndFunc ;==>_GUICtrlToolbar_SetHotImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetHotItem($hWnd, $iIndex)
- Return _SendMessage($hWnd, $TB_SETHOTITEM, $iIndex)
- EndFunc ;==>_GUICtrlToolbar_SetHotItem
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetImageList($hWnd, $hImageList)
- Return _SendMessage($hWnd, $TB_SETIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
- EndFunc ;==>_GUICtrlToolbar_SetImageList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetIndent($hWnd, $iIndent)
- Return _SendMessage($hWnd, $TB_SETINDENT, $iIndent) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetIndent
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetIndeterminate($hWnd, $iCommandID, $bState = True)
- Return _SendMessage($hWnd, $TB_INDETERMINATE, $iCommandID, $bState) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetIndeterminate
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetInsertMark($hWnd, $iButton, $iFlags = 0)
- Local $tMark = DllStructCreate($tagTBINSERTMARK)
- DllStructSetData($tMark, "Button", $iButton)
- DllStructSetData($tMark, "Flags", $iFlags)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_SETINSERTMARK, 0, $tMark, 0, "wparam", "struct*")
- Else
- Local $iMark = DllStructGetSize($tMark)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iMark, $tMemMap)
- _MemWrite($tMemMap, $tMark, $pMemory, $iMark)
- _SendMessage($hWnd, $TB_SETINSERTMARK, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUICtrlToolbar_SetInsertMark
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetInsertMarkColor($hWnd, $iColor)
- Return _SendMessage($hWnd, $TB_SETINSERTMARKCOLOR, 0, $iColor)
- EndFunc ;==>_GUICtrlToolbar_SetInsertMarkColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetMaxTextRows($hWnd, $iMaxRows)
- Return _SendMessage($hWnd, $TB_SETMAXTEXTROWS, $iMaxRows) <> 0
- EndFunc ;==>_GUICtrlToolbar_SetMaxTextRows
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetMetrics($hWnd, $iXPad, $iYPad, $iXSpacing, $iYSpacing)
- Local $tMetrics = DllStructCreate($tagTBMETRICS)
- Local $iMetrics = DllStructGetSize($tMetrics)
- Local $iMask = BitOR($TBMF_PAD, $TBMF_BUTTONSPACING)
- DllStructSetData($tMetrics, "Size", $iMetrics)
- DllStructSetData($tMetrics, "Mask", $iMask)
- DllStructSetData($tMetrics, "XPad", $iXPad)
- DllStructSetData($tMetrics, "YPad", $iYPad)
- DllStructSetData($tMetrics, "XSpacing", $iXSpacing)
- DllStructSetData($tMetrics, "YSpacing", $iYSpacing)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_SETMETRICS, 0, $tMetrics, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iMetrics, $tMemMap)
- _MemWrite($tMemMap, $tMetrics, $pMemory, $iMetrics)
- _SendMessage($hWnd, $TB_SETMETRICS, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUICtrlToolbar_SetMetrics
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetPadding($hWnd, $iCX, $iCY)
- Return _SendMessage($hWnd, $TB_SETPADDING, 0, _WinAPI_MakeLong($iCX, $iCY), 0, "wparam", "long")
- EndFunc ;==>_GUICtrlToolbar_SetPadding
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetParent($hWnd, $hParent)
- Return HWnd(_SendMessage($hWnd, $TB_SETPARENT, $hParent))
- EndFunc ;==>_GUICtrlToolbar_SetParent
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetRows($hWnd, $iRows, $bLarger = True)
- Local $tRECT = DllStructCreate($tagRECT)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_SETROWS, _WinAPI_MakeLong($iRows, $bLarger), $tRECT, 0, "long", "struct*")
- Else
- Local $iRect = DllStructGetSize($tRECT)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
- _SendMessage($hWnd, $TB_SETROWS, _WinAPI_MakeLong($iRows, $bLarger), $pMemory, 0, "long", "ptr")
- _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
- _MemFree($tMemMap)
- EndIf
- Local $aRect[4]
- $aRect[0] = DllStructGetData($tRECT, "Left")
- $aRect[1] = DllStructGetData($tRECT, "Top")
- $aRect[2] = DllStructGetData($tRECT, "Right")
- $aRect[3] = DllStructGetData($tRECT, "Bottom")
- Return $aRect
- EndFunc ;==>_GUICtrlToolbar_SetRows
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyle($hWnd, $iStyle)
- $iStyle = BitOR($iStyle, $__UDFGUICONSTANT_WS_CHILD, $__TOOLBARCONSTANT_WS_CLIPSIBLINGS, $__UDFGUICONSTANT_WS_VISIBLE)
- _SendMessage($hWnd, $TB_SETSTYLE, 0, $iStyle)
- EndFunc ;==>_GUICtrlToolbar_SetStyle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleAltDrag($hWnd, $bState = True)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_ALTDRAG, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleAltDrag
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleCustomErase($hWnd, $bState = True)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_CUSTOMERASE, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleCustomErase
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: __GUICtrlToolbar_SetStyleEx
- ; Description ...: Changes a style for the toolbar
- ; Syntax.........: __GUICtrlToolbar_SetStyleEx ( $hWnd, $iStyle, $bStyle )
- ; Parameters ....: $hWnd - Handle to the control
- ; $iStyle - Style to be changed
- ; $bStyle - True to set, false to unset
- ; Return values .: Success - True
- ; Failure - False
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; Remarks .......: This function is used internally to implement the SetStylex functions
- ; Related .......:
- ; Link ..........:
- ; Example .......:
- ; ===============================================================================================================================
- Func __GUICtrlToolbar_SetStyleEx($hWnd, $iStyle, $bStyle)
- Local $iN = _GUICtrlToolbar_GetStyle($hWnd)
- If $bStyle Then
- $iN = BitOR($iN, $iStyle)
- Else
- $iN = BitAND($iN, BitNOT($iStyle))
- EndIf
- Return _GUICtrlToolbar_SetStyle($hWnd, $iN)
- EndFunc ;==>__GUICtrlToolbar_SetStyleEx
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleFlat($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_FLAT, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleFlat
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleList($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_LIST, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleList
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleRegisterDrop($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_REGISTERDROP, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleRegisterDrop
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleToolTips($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_TOOLTIPS, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleToolTips
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleTransparent($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_TRANSPARENT, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleTransparent
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetStyleWrapable($hWnd, $bState)
- Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_WRAPABLE, $bState)
- EndFunc ;==>_GUICtrlToolbar_SetStyleWrapable
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetToolTips($hWnd, $hToolTip)
- _SendMessage($hWnd, $TB_SETTOOLTIPS, $hToolTip, 0, 0, "hwnd")
- EndFunc ;==>_GUICtrlToolbar_SetToolTips
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetUnicodeFormat($hWnd, $bUnicode = False)
- Return _SendMessage($hWnd, $TB_SETUNICODEFORMAT, $bUnicode)
- EndFunc ;==>_GUICtrlToolbar_SetUnicodeFormat
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUICtrlToolbar_SetWindowTheme($hWnd, $sTheme)
- Local $tTheme = _WinAPI_MultiByteToWideChar($sTheme)
- If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
- _SendMessage($hWnd, $TB_SETWINDOWTHEME, 0, $tTheme, 0, "wparam", "struct*")
- Else
- Local $iTheme = DllStructGetSize($tTheme)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iTheme, $tMemMap)
- _MemWrite($tMemMap, $tTheme, $pMemory, $iTheme)
- _SendMessage($hWnd, $TB_SETWINDOWTHEME, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUICtrlToolbar_SetWindowTheme
|