GuiToolbar.au3 86 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689
  1. #include-once
  2. #include "Memory.au3"
  3. #include "SendMessage.au3"
  4. #include "StructureConstants.au3"
  5. #include "ToolbarConstants.au3"
  6. #include "UDFGlobalID.au3"
  7. #include "WinAPIConstants.au3"
  8. #include "WinAPIConv.au3"
  9. #include "WinAPIRes.au3"
  10. #include "WinAPISysInternals.au3"
  11. ; #INDEX# =======================================================================================================================
  12. ; Title .........: Toolbar
  13. ; AutoIt Version : 3.3.14.5
  14. ; Language ......: English
  15. ; Description ...: Functions that assist with Toolbar control management.
  16. ; A toolbar is a control window that contains one or more buttons. Each button, when clicked by a user, sends a
  17. ; command message to the parent window. Typically, the buttons in a toolbar correspond to items in the
  18. ; application's menu, providing an additional and more direct way for the user to access an application's
  19. ; commands.
  20. ; Author(s) .....: Paul Campbell (PaulIA)
  21. ; ===============================================================================================================================
  22. ; #VARIABLES# ===================================================================================================================
  23. Global $__g_hTBLastWnd
  24. ; ===============================================================================================================================
  25. ; #CONSTANTS# ===================================================================================================================
  26. Global Const $__TOOLBARCONSTANT_ClassName = "ToolbarWindow32"
  27. Global Const $__TOOLBARCONSTANT_WS_CLIPSIBLINGS = 0x04000000
  28. Global Const $__TOOLBARCONSTANT_HINST_COMMCTRL = -1
  29. ; ===============================================================================================================================
  30. ; #CURRENT# =====================================================================================================================
  31. ; _GUICtrlToolbar_AddBitmap
  32. ; _GUICtrlToolbar_AddButton
  33. ; _GUICtrlToolbar_AddButtonSep
  34. ; _GUICtrlToolbar_AddString
  35. ; _GUICtrlToolbar_ButtonCount
  36. ; _GUICtrlToolbar_CheckButton
  37. ; _GUICtrlToolbar_ClickAccel
  38. ; _GUICtrlToolbar_ClickButton
  39. ; _GUICtrlToolbar_ClickIndex
  40. ; _GUICtrlToolbar_CommandToIndex
  41. ; _GUICtrlToolbar_Create
  42. ; _GUICtrlToolbar_Customize
  43. ; _GUICtrlToolbar_DeleteButton
  44. ; _GUICtrlToolbar_Destroy
  45. ; _GUICtrlToolbar_EnableButton
  46. ; _GUICtrlToolbar_FindToolbar
  47. ; _GUICtrlToolbar_GetAnchorHighlight
  48. ; _GUICtrlToolbar_GetBitmapFlags
  49. ; _GUICtrlToolbar_GetButtonBitmap
  50. ; _GUICtrlToolbar_GetButtonInfo
  51. ; _GUICtrlToolbar_GetButtonInfoEx
  52. ; _GUICtrlToolbar_GetButtonParam
  53. ; _GUICtrlToolbar_GetButtonRect
  54. ; _GUICtrlToolbar_GetButtonRectEx
  55. ; _GUICtrlToolbar_GetButtonSize
  56. ; _GUICtrlToolbar_GetButtonState
  57. ; _GUICtrlToolbar_GetButtonStyle
  58. ; _GUICtrlToolbar_GetButtonText
  59. ; _GUICtrlToolbar_GetColorScheme
  60. ; _GUICtrlToolbar_GetDisabledImageList
  61. ; _GUICtrlToolbar_GetExtendedStyle
  62. ; _GUICtrlToolbar_GetHotImageList
  63. ; _GUICtrlToolbar_GetHotItem
  64. ; _GUICtrlToolbar_GetImageList
  65. ; _GUICtrlToolbar_GetInsertMark
  66. ; _GUICtrlToolbar_GetInsertMarkColor
  67. ; _GUICtrlToolbar_GetMaxSize
  68. ; _GUICtrlToolbar_GetMetrics
  69. ; _GUICtrlToolbar_GetPadding
  70. ; _GUICtrlToolbar_GetRows
  71. ; _GUICtrlToolbar_GetString
  72. ; _GUICtrlToolbar_GetStyle
  73. ; _GUICtrlToolbar_GetStyleAltDrag
  74. ; _GUICtrlToolbar_GetStyleCustomErase
  75. ; _GUICtrlToolbar_GetStyleFlat
  76. ; _GUICtrlToolbar_GetStyleList
  77. ; _GUICtrlToolbar_GetStyleRegisterDrop
  78. ; _GUICtrlToolbar_GetStyleToolTips
  79. ; _GUICtrlToolbar_GetStyleTransparent
  80. ; _GUICtrlToolbar_GetStyleWrapable
  81. ; _GUICtrlToolbar_GetTextRows
  82. ; _GUICtrlToolbar_GetToolTips
  83. ; _GUICtrlToolbar_GetUnicodeFormat
  84. ; _GUICtrlToolbar_HideButton
  85. ; _GUICtrlToolbar_HighlightButton
  86. ; _GUICtrlToolbar_HitTest
  87. ; _GUICtrlToolbar_IndexToCommand
  88. ; _GUICtrlToolbar_InsertButton
  89. ; _GUICtrlToolbar_InsertMarkHitTest
  90. ; _GUICtrlToolbar_IsButtonChecked
  91. ; _GUICtrlToolbar_IsButtonEnabled
  92. ; _GUICtrlToolbar_IsButtonHidden
  93. ; _GUICtrlToolbar_IsButtonHighlighted
  94. ; _GUICtrlToolbar_IsButtonIndeterminate
  95. ; _GUICtrlToolbar_IsButtonPressed
  96. ; _GUICtrlToolbar_LoadBitmap
  97. ; _GUICtrlToolbar_LoadImages
  98. ; _GUICtrlToolbar_MapAccelerator
  99. ; _GUICtrlToolbar_MoveButton
  100. ; _GUICtrlToolbar_PressButton
  101. ; _GUICtrlToolbar_SetAnchorHighlight
  102. ; _GUICtrlToolbar_SetBitmapSize
  103. ; _GUICtrlToolbar_SetButtonBitMap
  104. ; _GUICtrlToolbar_SetButtonInfo
  105. ; _GUICtrlToolbar_SetButtonInfoEx
  106. ; _GUICtrlToolbar_SetButtonParam
  107. ; _GUICtrlToolbar_SetButtonSize
  108. ; _GUICtrlToolbar_SetButtonState
  109. ; _GUICtrlToolbar_SetButtonStyle
  110. ; _GUICtrlToolbar_SetButtonText
  111. ; _GUICtrlToolbar_SetButtonWidth
  112. ; _GUICtrlToolbar_SetCmdID
  113. ; _GUICtrlToolbar_SetColorScheme
  114. ; _GUICtrlToolbar_SetDisabledImageList
  115. ; _GUICtrlToolbar_SetDrawTextFlags
  116. ; _GUICtrlToolbar_SetExtendedStyle
  117. ; _GUICtrlToolbar_SetHotImageList
  118. ; _GUICtrlToolbar_SetHotItem
  119. ; _GUICtrlToolbar_SetImageList
  120. ; _GUICtrlToolbar_SetIndent
  121. ; _GUICtrlToolbar_SetIndeterminate
  122. ; _GUICtrlToolbar_SetInsertMark
  123. ; _GUICtrlToolbar_SetInsertMarkColor
  124. ; _GUICtrlToolbar_SetMaxTextRows
  125. ; _GUICtrlToolbar_SetMetrics
  126. ; _GUICtrlToolbar_SetPadding
  127. ; _GUICtrlToolbar_SetParent
  128. ; _GUICtrlToolbar_SetRows
  129. ; _GUICtrlToolbar_SetStyle
  130. ; _GUICtrlToolbar_SetStyleAltDrag
  131. ; _GUICtrlToolbar_SetStyleCustomErase
  132. ; _GUICtrlToolbar_SetStyleFlat
  133. ; _GUICtrlToolbar_SetStyleList
  134. ; _GUICtrlToolbar_SetStyleRegisterDrop
  135. ; _GUICtrlToolbar_SetStyleToolTips
  136. ; _GUICtrlToolbar_SetStyleTransparent
  137. ; _GUICtrlToolbar_SetStyleWrapable
  138. ; _GUICtrlToolbar_SetToolTips
  139. ; _GUICtrlToolbar_SetUnicodeFormat
  140. ; _GUICtrlToolbar_SetWindowTheme
  141. ; ===============================================================================================================================
  142. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  143. ; $tagTBADDBITMAP
  144. ; $tagTBINSERTMARK
  145. ; $tagTBMETRICS
  146. ; __GUICtrlToolbar_AutoSize
  147. ; __GUICtrlToolbar_ButtonStructSize
  148. ; __GUICtrlToolbar_SetStyleEx
  149. ; ===============================================================================================================================
  150. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  151. ; Name...........: $tagTBADDBITMAP
  152. ; Description ...: Adds a bitmap that contains button images to a toolbar
  153. ; Fields ........: hInst - Handle to the module instance with the executable file that contains a bitmap resource. To use bitmap
  154. ; +handles instead of resource IDs, set this member to 0. You can add the system-defined button bitmaps to the
  155. ; +list by specifying $HINST_COMMCTRL as the hInst member and one of the following values as the ID member:
  156. ; |$IDB_STD_LARGE_COLOR - Adds large, color standard bitmaps
  157. ; |$IDB_STD_SMALL_COLOR - Adds small, color standard bitmaps
  158. ; |$IDB_VIEW_LARGE_COLOR - Adds large, color view bitmaps
  159. ; |$IDB_VIEW_SMALL_COLOR - Adds small, color view bitmaps
  160. ; ID - If hInst is 0, set this member to the bitmap handle of the bitmap with the button images. Otherwise,
  161. ; +set it to the resource identifier of the bitmap with the button images.
  162. ; Author ........: Paul Campbell (PaulIA)
  163. ; Remarks .......:
  164. ; ===============================================================================================================================
  165. Global Const $tagTBADDBITMAP = "handle hInst;uint_ptr ID"
  166. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  167. ; Name...........: $tagTBINSERTMARK
  168. ; Description ...: Contains information on the insertion mark in a toolbar control
  169. ; Fields ........: Button - Zero based index of the insertion mark. If this member is -1, there is no insertion mark
  170. ; Flags - Defines where the insertion mark is in relation to Button. This can be one of the following values:
  171. ; |0 - The insertion mark is to the left of the specified button
  172. ; |$TBIMHT_AFTER - The insertion mark is to the right of the specified button
  173. ; |$TBIMHT_BACKGROUND - The insertion mark is on the background of the toolbar. This flag is only used with
  174. ; +the $TB_INSERTMARKHITTEST message.
  175. ; Author ........: Paul Campbell (PaulIA)
  176. ; Remarks .......:
  177. ; ===============================================================================================================================
  178. Global Const $tagTBINSERTMARK = "int Button;dword Flags"
  179. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  180. ; Name...........: $tagTBMETRICS
  181. ; Description ...: Defines the metrics of a toolbar that are used to shrink or expand toolbar items
  182. ; Fields ........: Size - Size of this structure, in bytes
  183. ; Mask - Mask that determines the metric to retrieve. It can be any combination of the following:
  184. ; |$TBMF_PAD - Retrieve the XPad and YPad values
  185. ; |$TBMF_BARPAD - Retrieve the XBarPad and YBarPad values
  186. ; |$TBMF_BUTTONSPACING - Retrieve the XSpacing and YSpacing values
  187. ; XPad - Width of the padding inside the toolbar buttons
  188. ; YPad - Height of the padding inside the toolbar buttons
  189. ; XBarPad - Width of the toolbar. Not used.
  190. ; YBarPad - Height of the toolbar. Not used.
  191. ; XSpacing - Width of the space between toolbar buttons
  192. ; YSpacing - Height of the space between toolbar buttons
  193. ; Author ........: Paul Campbell (PaulIA)
  194. ; Remarks .......:
  195. ; ===============================================================================================================================
  196. Global Const $tagTBMETRICS = "uint Size;dword Mask;int XPad;int YPad;int XBarPad;int YBarPad;int XSpacing;int YSpacing"
  197. ; #FUNCTION# ====================================================================================================================
  198. ; Author ........: Paul Campbell (PaulIA)
  199. ; Modified.......: Gary Frost
  200. ; ===============================================================================================================================
  201. Func _GUICtrlToolbar_AddBitmap($hWnd, $iButtons, $hInst, $iID)
  202. Local $tBitmap = DllStructCreate($tagTBADDBITMAP)
  203. DllStructSetData($tBitmap, "hInst", $hInst)
  204. DllStructSetData($tBitmap, "ID", $iID)
  205. Local $iRet
  206. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  207. $iRet = _SendMessage($hWnd, $TB_ADDBITMAP, $iButtons, $tBitmap, 0, "wparam", "struct*")
  208. Else
  209. Local $iBitmap = DllStructGetSize($tBitmap)
  210. Local $tMemMap
  211. Local $pMemory = _MemInit($hWnd, $iBitmap, $tMemMap)
  212. _MemWrite($tMemMap, $tBitmap, $pMemory, $iBitmap)
  213. $iRet = _SendMessage($hWnd, $TB_ADDBITMAP, $iButtons, $pMemory, 0, "wparam", "ptr")
  214. _MemFree($tMemMap)
  215. EndIf
  216. Return $iRet
  217. EndFunc ;==>_GUICtrlToolbar_AddBitmap
  218. ; #FUNCTION# ====================================================================================================================
  219. ; Author ........: Paul Campbell (PaulIA)
  220. ; Modified.......: Gary Frost
  221. ; ===============================================================================================================================
  222. Func _GUICtrlToolbar_AddButton($hWnd, $iID, $iImage, $iString = 0, $iStyle = 0, $iState = 4, $iParam = 0)
  223. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  224. Local $tButton = DllStructCreate($tagTBBUTTON)
  225. DllStructSetData($tButton, "Bitmap", $iImage)
  226. DllStructSetData($tButton, "Command", $iID)
  227. DllStructSetData($tButton, "State", $iState)
  228. DllStructSetData($tButton, "Style", $iStyle)
  229. DllStructSetData($tButton, "Param", $iParam)
  230. DllStructSetData($tButton, "String", $iString)
  231. Local $iRet
  232. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  233. $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSW, 1, $tButton, 0, "wparam", "struct*")
  234. Else
  235. Local $iButton = DllStructGetSize($tButton)
  236. Local $tMemMap
  237. Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
  238. _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
  239. If $bUnicode Then
  240. $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSW, 1, $pMemory, 0, "wparam", "ptr")
  241. Else
  242. $iRet = _SendMessage($hWnd, $TB_ADDBUTTONSA, 1, $pMemory, 0, "wparam", "ptr")
  243. EndIf
  244. _MemFree($tMemMap)
  245. EndIf
  246. __GUICtrlToolbar_AutoSize($hWnd)
  247. Return $iRet <> 0
  248. EndFunc ;==>_GUICtrlToolbar_AddButton
  249. ; #FUNCTION# ====================================================================================================================
  250. ; Author ........: Paul Campbell (PaulIA)
  251. ; Modified.......:
  252. ; ===============================================================================================================================
  253. Func _GUICtrlToolbar_AddButtonSep($hWnd, $iWidth = 6)
  254. _GUICtrlToolbar_AddButton($hWnd, 0, $iWidth, 0, $BTNS_SEP)
  255. EndFunc ;==>_GUICtrlToolbar_AddButtonSep
  256. ; #FUNCTION# ====================================================================================================================
  257. ; Author ........: Paul Campbell (PaulIA)
  258. ; Modified.......: Gary Frost
  259. ; ===============================================================================================================================
  260. Func _GUICtrlToolbar_AddString($hWnd, $sString)
  261. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  262. Local $iBuffer = StringLen($sString) + 2
  263. Local $tBuffer
  264. If $bUnicode Then
  265. $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
  266. $iBuffer *= 2
  267. Else
  268. $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
  269. EndIf
  270. DllStructSetData($tBuffer, "Text", $sString)
  271. Local $iRet
  272. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  273. $iRet = _SendMessage($hWnd, $TB_ADDSTRINGW, 0, $tBuffer, 0, "wparam", "struct*")
  274. Else
  275. Local $tMemMap
  276. Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
  277. _MemWrite($tMemMap, $tBuffer, $pMemory, $iBuffer)
  278. If $bUnicode Then
  279. $iRet = _SendMessage($hWnd, $TB_ADDSTRINGW, 0, $pMemory, 0, "wparam", "ptr")
  280. Else
  281. $iRet = _SendMessage($hWnd, $TB_ADDSTRINGA, 0, $pMemory, 0, "wparam", "ptr")
  282. EndIf
  283. _MemFree($tMemMap)
  284. EndIf
  285. Return $iRet
  286. EndFunc ;==>_GUICtrlToolbar_AddString
  287. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  288. ; Name...........: __GUICtrlToolbar_AutoSize
  289. ; Description ...: Causes a toolbar to be resized
  290. ; Syntax.........: __GUICtrlToolbar_AutoSize ( $hWnd )
  291. ; Parameters ....: $hWnd - Handle to the control
  292. ; Return values .:
  293. ; Author ........: Paul Campbell (PaulIA)
  294. ; Modified.......:
  295. ; Remarks .......: An application calls this function after causing the size of a toolbar to change by setting the button or
  296. ; bitmap size or by adding strings for the first time. Normally, you do not need to use this function as it is
  297. ; called internally as needed.
  298. ; Related .......:
  299. ; Link ..........:
  300. ; Example .......:
  301. ; ===============================================================================================================================
  302. Func __GUICtrlToolbar_AutoSize($hWnd)
  303. _SendMessage($hWnd, $TB_AUTOSIZE)
  304. EndFunc ;==>__GUICtrlToolbar_AutoSize
  305. ; #FUNCTION# ====================================================================================================================
  306. ; Author ........: Paul Campbell (PaulIA)
  307. ; Modified.......:
  308. ; ===============================================================================================================================
  309. Func _GUICtrlToolbar_ButtonCount($hWnd)
  310. Return _SendMessage($hWnd, $TB_BUTTONCOUNT)
  311. EndFunc ;==>_GUICtrlToolbar_ButtonCount
  312. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  313. ; Name...........: __GUICtrlToolbar_ButtonStructSize
  314. ; Description ...: Specifies the size of the $tagTBBUTTON structure
  315. ; Syntax.........: __GUICtrlToolbar_ButtonStructSize ( $hWnd )
  316. ; Parameters ....: $hWnd - Handle to the control
  317. ; Return values .:
  318. ; Author ........: Paul Campbell (PaulIA)
  319. ; Modified.......: Gary Frost
  320. ; Remarks .......: This function is used to tell the control the size of a $tagTBBUTTON structure. Normally, you do not need to
  321. ; use this function as it is called internally when the control is created.
  322. ; Related .......: $tagTBBUTTON
  323. ; Link ..........:
  324. ; Example .......:
  325. ; ===============================================================================================================================
  326. Func __GUICtrlToolbar_ButtonStructSize($hWnd)
  327. Local $tButton = DllStructCreate($tagTBBUTTON)
  328. _SendMessage($hWnd, $TB_BUTTONSTRUCTSIZE, DllStructGetSize($tButton), 0, 0, "wparam", "ptr")
  329. EndFunc ;==>__GUICtrlToolbar_ButtonStructSize
  330. ; #FUNCTION# ====================================================================================================================
  331. ; Author ........: Paul Campbell (PaulIA)
  332. ; Modified.......:
  333. ; ===============================================================================================================================
  334. Func _GUICtrlToolbar_CheckButton($hWnd, $iCommandID, $bCheck = True)
  335. Return _SendMessage($hWnd, $TB_CHECKBUTTON, $iCommandID, $bCheck) <> 0
  336. EndFunc ;==>_GUICtrlToolbar_CheckButton
  337. ; #FUNCTION# ====================================================================================================================
  338. ; Author ........: Paul Campbell (PaulIA)
  339. ; Modified.......:
  340. ; ===============================================================================================================================
  341. Func _GUICtrlToolbar_ClickAccel($hWnd, $sAccelKey, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
  342. Local $iID = _GUICtrlToolbar_MapAccelerator($hWnd, $sAccelKey)
  343. _GUICtrlToolbar_ClickButton($hWnd, $iID, $sButton, $bMove, $iClicks, $iSpeed)
  344. EndFunc ;==>_GUICtrlToolbar_ClickAccel
  345. ; #FUNCTION# ====================================================================================================================
  346. ; Author ........: Paul Campbell (PaulIA)
  347. ; Modified.......: Gary Frost
  348. ; ===============================================================================================================================
  349. Func _GUICtrlToolbar_ClickButton($hWnd, $iCommandID, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
  350. Local $tRECT = _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
  351. Local $tPoint = _WinAPI_PointFromRect($tRECT)
  352. $tPoint = _WinAPI_ClientToScreen($hWnd, $tPoint)
  353. Local $iX, $iY
  354. _WinAPI_GetXYFromPoint($tPoint, $iX, $iY)
  355. Local $iMode = Opt("MouseCoordMode", 1)
  356. If Not $bMove Then
  357. Local $aPos = MouseGetPos()
  358. _WinAPI_ShowCursor(False)
  359. MouseClick($sButton, $iX, $iY, $iClicks, $iSpeed)
  360. MouseMove($aPos[0], $aPos[1], 0)
  361. _WinAPI_ShowCursor(True)
  362. Else
  363. MouseClick($sButton, $iX, $iY, $iClicks, $iSpeed)
  364. EndIf
  365. Opt("MouseCoordMode", $iMode)
  366. EndFunc ;==>_GUICtrlToolbar_ClickButton
  367. ; #FUNCTION# ====================================================================================================================
  368. ; Author ........: Paul Campbell (PaulIA)
  369. ; Modified.......:
  370. ; ===============================================================================================================================
  371. Func _GUICtrlToolbar_ClickIndex($hWnd, $iIndex, $sButton = "left", $bMove = False, $iClicks = 1, $iSpeed = 1)
  372. Local $iCommandID = _GUICtrlToolbar_IndexToCommand($hWnd, $iIndex)
  373. _GUICtrlToolbar_ClickButton($hWnd, $iCommandID, $sButton, $bMove, $iClicks, $iSpeed)
  374. EndFunc ;==>_GUICtrlToolbar_ClickIndex
  375. ; #FUNCTION# ====================================================================================================================
  376. ; Author ........: Paul Campbell (PaulIA)
  377. ; Modified.......:
  378. ; ===============================================================================================================================
  379. Func _GUICtrlToolbar_CommandToIndex($hWnd, $iCommandID)
  380. Return _SendMessage($hWnd, $TB_COMMANDTOINDEX, $iCommandID)
  381. EndFunc ;==>_GUICtrlToolbar_CommandToIndex
  382. ; #FUNCTION# ====================================================================================================================
  383. ; Author ........: Paul Campbell (PaulIA)
  384. ; Modified.......: Gary Frost
  385. ; ===============================================================================================================================
  386. Func _GUICtrlToolbar_Create($hWnd, $iStyle = 0x00000800, $iExStyle = 0x00000000)
  387. $iStyle = BitOR($iStyle, $__UDFGUICONSTANT_WS_CHILD, $__TOOLBARCONSTANT_WS_CLIPSIBLINGS, $__UDFGUICONSTANT_WS_VISIBLE)
  388. Local $nCtrlID = __UDF_GetNextGlobalID($hWnd)
  389. If @error Then Return SetError(@error, @extended, 0)
  390. Local $hTool = _WinAPI_CreateWindowEx($iExStyle, $__TOOLBARCONSTANT_ClassName, "", $iStyle, 0, 0, 0, 0, $hWnd, $nCtrlID)
  391. __GUICtrlToolbar_ButtonStructSize($hTool)
  392. Return $hTool
  393. EndFunc ;==>_GUICtrlToolbar_Create
  394. ; #FUNCTION# ====================================================================================================================
  395. ; Author ........: Paul Campbell (PaulIA)
  396. ; Modified.......:
  397. ; ===============================================================================================================================
  398. Func _GUICtrlToolbar_Customize($hWnd)
  399. _SendMessage($hWnd, $TB_CUSTOMIZE)
  400. EndFunc ;==>_GUICtrlToolbar_Customize
  401. ; #FUNCTION# ====================================================================================================================
  402. ; Author ........: Paul Campbell (PaulIA)
  403. ; Modified.......:
  404. ; ===============================================================================================================================
  405. Func _GUICtrlToolbar_DeleteButton($hWnd, $iCommandID)
  406. Local $iIndex = _GUICtrlToolbar_CommandToIndex($hWnd, $iCommandID)
  407. If $iIndex = -1 Then Return SetError(-1, 0, False)
  408. Return _SendMessage($hWnd, $TB_DELETEBUTTON, $iIndex) <> 0
  409. EndFunc ;==>_GUICtrlToolbar_DeleteButton
  410. ; #FUNCTION# ====================================================================================================================
  411. ; Author ........: Gary Frost (gafrost)
  412. ; Modified.......:
  413. ; ===============================================================================================================================
  414. Func _GUICtrlToolbar_Destroy(ByRef $hWnd)
  415. If Not _WinAPI_IsClassName($hWnd, $__TOOLBARCONSTANT_ClassName) Then Return SetError(2, 2, False)
  416. Local $iDestroyed = 0
  417. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  418. Local $nCtrlID = _WinAPI_GetDlgCtrlID($hWnd)
  419. Local $hParent = _WinAPI_GetParent($hWnd)
  420. $iDestroyed = _WinAPI_DestroyWindow($hWnd)
  421. Local $iRet = __UDF_FreeGlobalID($hParent, $nCtrlID)
  422. If Not $iRet Then
  423. ; can check for errors here if needed, for debug
  424. EndIf
  425. Else
  426. ; Not Allowed to Destroy Other Applications Control(s)
  427. Return SetError(1, 1, False)
  428. EndIf
  429. If $iDestroyed Then $hWnd = 0
  430. Return $iDestroyed <> 0
  431. EndFunc ;==>_GUICtrlToolbar_Destroy
  432. ; #FUNCTION# ====================================================================================================================
  433. ; Author ........: Paul Campbell (PaulIA)
  434. ; Modified.......:
  435. ; ===============================================================================================================================
  436. Func _GUICtrlToolbar_EnableButton($hWnd, $iCommandID, $bEnable = True)
  437. Return _SendMessage($hWnd, $TB_ENABLEBUTTON, $iCommandID, $bEnable) <> 0
  438. EndFunc ;==>_GUICtrlToolbar_EnableButton
  439. ; #FUNCTION# ====================================================================================================================
  440. ; Author ........: Paul Campbell (PaulIA)
  441. ; Modified.......:
  442. ; ===============================================================================================================================
  443. Func _GUICtrlToolbar_FindToolbar($hWnd, $sText)
  444. Local $iCommandID, $hToolbar
  445. If Not _WinAPI_IsWindow($hWnd) Then
  446. $hWnd = WinGetHandle($hWnd)
  447. If @error Then Return SetError(-1, -1, 0)
  448. EndIf
  449. Local $aWinList = _WinAPI_EnumWindows(True, $hWnd)
  450. For $iI = 1 To $aWinList[0][0]
  451. If $aWinList[$iI][1] = $__TOOLBARCONSTANT_ClassName Then
  452. $hToolbar = $aWinList[$iI][0]
  453. For $iJ = 0 To _GUICtrlToolbar_ButtonCount($hToolbar) - 1
  454. $iCommandID = _GUICtrlToolbar_IndexToCommand($hToolbar, $iJ)
  455. If _GUICtrlToolbar_GetButtonText($hToolbar, $iCommandID) = $sText Then Return $hToolbar
  456. Next
  457. EndIf
  458. Next
  459. Return SetError(-2, -2, 0)
  460. EndFunc ;==>_GUICtrlToolbar_FindToolbar
  461. ; #FUNCTION# ====================================================================================================================
  462. ; Author ........: Paul Campbell (PaulIA)
  463. ; Modified.......:
  464. ; ===============================================================================================================================
  465. Func _GUICtrlToolbar_GetAnchorHighlight($hWnd)
  466. Return _SendMessage($hWnd, $TB_GETANCHORHIGHLIGHT) <> 0
  467. EndFunc ;==>_GUICtrlToolbar_GetAnchorHighlight
  468. ; #FUNCTION# ====================================================================================================================
  469. ; Author ........: Paul Campbell (PaulIA)
  470. ; Modified.......:
  471. ; ===============================================================================================================================
  472. Func _GUICtrlToolbar_GetBitmapFlags($hWnd)
  473. Return _SendMessage($hWnd, $TB_GETBITMAPFLAGS)
  474. EndFunc ;==>_GUICtrlToolbar_GetBitmapFlags
  475. ; #FUNCTION# ====================================================================================================================
  476. ; Author ........: Paul Campbell (PaulIA)
  477. ; Modified.......:
  478. ; ===============================================================================================================================
  479. Func _GUICtrlToolbar_GetButtonBitmap($hWnd, $iCommandID)
  480. Return _SendMessage($hWnd, $TB_GETBITMAP, $iCommandID)
  481. EndFunc ;==>_GUICtrlToolbar_GetButtonBitmap
  482. ; #FUNCTION# ====================================================================================================================
  483. ; Author ........: Paul Campbell (PaulIA)
  484. ; Modified.......:
  485. ; ===============================================================================================================================
  486. Func _GUICtrlToolbar_GetButtonInfo($hWnd, $iCommandID)
  487. Local $aButton[5]
  488. Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
  489. $aButton[0] = DllStructGetData($tButton, "Image")
  490. $aButton[1] = DllStructGetData($tButton, "State")
  491. $aButton[2] = DllStructGetData($tButton, "Style")
  492. $aButton[3] = DllStructGetData($tButton, "CX")
  493. $aButton[4] = DllStructGetData($tButton, "Param")
  494. Return $aButton
  495. EndFunc ;==>_GUICtrlToolbar_GetButtonInfo
  496. ; #FUNCTION# ====================================================================================================================
  497. ; Author ........: Paul Campbell (PaulIA)
  498. ; Modified.......: Gary Frost
  499. ; ===============================================================================================================================
  500. Func _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
  501. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  502. Local $tButton = DllStructCreate($tagTBBUTTONINFO)
  503. Local $iButton = DllStructGetSize($tButton)
  504. Local $iMask = BitOR($TBIF_IMAGE, $TBIF_STATE, $TBIF_STYLE, $TBIF_LPARAM, $TBIF_SIZE)
  505. DllStructSetData($tButton, "Size", $iButton)
  506. DllStructSetData($tButton, "Mask", $iMask)
  507. Local $iRet
  508. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  509. $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOW, $iCommandID, $tButton, 0, "wparam", "struct*")
  510. Else
  511. Local $tMemMap
  512. Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
  513. _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
  514. If $bUnicode Then
  515. $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOW, $iCommandID, $pMemory, 0, "wparam", "ptr")
  516. Else
  517. $iRet = _SendMessage($hWnd, $TB_GETBUTTONINFOA, $iCommandID, $pMemory, 0, "wparam", "ptr")
  518. EndIf
  519. _MemRead($tMemMap, $pMemory, $tButton, $iButton)
  520. _MemFree($tMemMap)
  521. EndIf
  522. Return SetError($iRet = -1, 0, $tButton)
  523. EndFunc ;==>_GUICtrlToolbar_GetButtonInfoEx
  524. ; #FUNCTION# ====================================================================================================================
  525. ; Author ........: Paul Campbell (PaulIA)
  526. ; Modified.......:
  527. ; ===============================================================================================================================
  528. Func _GUICtrlToolbar_GetButtonParam($hWnd, $iCommandID)
  529. Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
  530. Return DllStructGetData($tButton, "Param")
  531. EndFunc ;==>_GUICtrlToolbar_GetButtonParam
  532. ; #FUNCTION# ====================================================================================================================
  533. ; Author ........: Paul Campbell (PaulIA)
  534. ; Modified.......:
  535. ; ===============================================================================================================================
  536. Func _GUICtrlToolbar_GetButtonRect($hWnd, $iCommandID)
  537. Local $aRect[4]
  538. Local $tRECT = _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
  539. $aRect[0] = DllStructGetData($tRECT, "Left")
  540. $aRect[1] = DllStructGetData($tRECT, "Top")
  541. $aRect[2] = DllStructGetData($tRECT, "Right")
  542. $aRect[3] = DllStructGetData($tRECT, "Bottom")
  543. Return $aRect
  544. EndFunc ;==>_GUICtrlToolbar_GetButtonRect
  545. ; #FUNCTION# ====================================================================================================================
  546. ; Author ........: Paul Campbell (PaulIA)
  547. ; Modified.......: Gary Frost
  548. ; ===============================================================================================================================
  549. Func _GUICtrlToolbar_GetButtonRectEx($hWnd, $iCommandID)
  550. Local $tRECT = DllStructCreate($tagRECT)
  551. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  552. _SendMessage($hWnd, $TB_GETRECT, $iCommandID, $tRECT, 0, "wparam", "struct*")
  553. Else
  554. Local $iRect = DllStructGetSize($tRECT)
  555. Local $tMemMap
  556. Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
  557. _SendMessage($hWnd, $TB_GETRECT, $iCommandID, $pMemory, 0, "wparam", "ptr")
  558. _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
  559. _MemFree($tMemMap)
  560. EndIf
  561. Return $tRECT
  562. EndFunc ;==>_GUICtrlToolbar_GetButtonRectEx
  563. ; #FUNCTION# ====================================================================================================================
  564. ; Author ........: Paul Campbell (PaulIA)
  565. ; Modified.......:
  566. ; ===============================================================================================================================
  567. Func _GUICtrlToolbar_GetButtonSize($hWnd)
  568. Local $aSize[2]
  569. Local $iRet = _SendMessage($hWnd, $TB_GETBUTTONSIZE)
  570. $aSize[0] = _WinAPI_HiWord($iRet)
  571. $aSize[1] = _WinAPI_LoWord($iRet)
  572. Return $aSize
  573. EndFunc ;==>_GUICtrlToolbar_GetButtonSize
  574. ; #FUNCTION# ====================================================================================================================
  575. ; Author ........: Paul Campbell (PaulIA)
  576. ; Modified.......:
  577. ; ===============================================================================================================================
  578. Func _GUICtrlToolbar_GetButtonState($hWnd, $iCommandID)
  579. Return _SendMessage($hWnd, $TB_GETSTATE, $iCommandID)
  580. EndFunc ;==>_GUICtrlToolbar_GetButtonState
  581. ; #FUNCTION# ====================================================================================================================
  582. ; Author ........: Paul Campbell (PaulIA)
  583. ; Modified.......:
  584. ; ===============================================================================================================================
  585. Func _GUICtrlToolbar_GetButtonStyle($hWnd, $iCommandID)
  586. Local $tButton = _GUICtrlToolbar_GetButtonInfoEx($hWnd, $iCommandID)
  587. Return DllStructGetData($tButton, "Style")
  588. EndFunc ;==>_GUICtrlToolbar_GetButtonStyle
  589. ; #FUNCTION# ====================================================================================================================
  590. ; Author ........: Paul Campbell (PaulIA)
  591. ; Modified.......: Gary Frost
  592. ; ===============================================================================================================================
  593. Func _GUICtrlToolbar_GetButtonText($hWnd, $iCommandID)
  594. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  595. Local $iBuffer
  596. If $bUnicode Then
  597. $iBuffer = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID)
  598. Else
  599. $iBuffer = _SendMessage($hWnd, $TB_GETBUTTONTEXTA, $iCommandID)
  600. EndIf
  601. If $iBuffer = 0 Then Return SetError(True, 0, "")
  602. If $iBuffer = 1 Then Return SetError(False, 0, "")
  603. If $iBuffer <= -1 Then Return SetError(False, -1, "")
  604. $iBuffer += 1
  605. Local $tBuffer
  606. If $bUnicode Then
  607. $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
  608. $iBuffer *= 2
  609. Else
  610. $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
  611. EndIf
  612. Local $iRet
  613. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  614. $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID, $tBuffer, 0, "wparam", "struct*")
  615. Else
  616. Local $tMemMap
  617. Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
  618. If $bUnicode Then
  619. $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTW, $iCommandID, $pMemory, 0, "wparam", "ptr")
  620. Else
  621. $iRet = _SendMessage($hWnd, $TB_GETBUTTONTEXTA, $iCommandID, $pMemory, 0, "wparam", "ptr")
  622. EndIf
  623. _MemRead($tMemMap, $pMemory, $tBuffer, $iBuffer)
  624. _MemFree($tMemMap)
  625. EndIf
  626. Return SetError($iRet > 0, 0, DllStructGetData($tBuffer, "Text"))
  627. EndFunc ;==>_GUICtrlToolbar_GetButtonText
  628. ; #FUNCTION# ====================================================================================================================
  629. ; Author ........: Paul Campbell (PaulIA)
  630. ; Modified.......: Gary Frost
  631. ; ===============================================================================================================================
  632. Func _GUICtrlToolbar_GetColorScheme($hWnd)
  633. Local $aColor[2], $iRet
  634. Local $tColor = DllStructCreate($tagCOLORSCHEME)
  635. Local $iColor = DllStructGetSize($tColor)
  636. DllStructSetData($tColor, "Size", $iColor)
  637. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  638. $iRet = _SendMessage($hWnd, $TB_GETCOLORSCHEME, 0, $tColor, 0, "wparam", "struct*")
  639. Else
  640. Local $tMemMap
  641. Local $pMemory = _MemInit($hWnd, $iColor, $tMemMap)
  642. $iRet = _SendMessage($hWnd, $TB_GETCOLORSCHEME, 0, $pMemory, 0, "wparam", "ptr")
  643. _MemRead($tMemMap, $pMemory, $tColor, $iColor)
  644. _MemFree($tMemMap)
  645. EndIf
  646. $aColor[0] = DllStructGetData($tColor, "BtnHighlight")
  647. $aColor[1] = DllStructGetData($tColor, "BtnShadow")
  648. Return SetError($iRet = 0, 0, $aColor)
  649. EndFunc ;==>_GUICtrlToolbar_GetColorScheme
  650. ; #FUNCTION# ====================================================================================================================
  651. ; Author ........: Paul Campbell (PaulIA)
  652. ; Modified.......:
  653. ; ===============================================================================================================================
  654. Func _GUICtrlToolbar_GetDisabledImageList($hWnd)
  655. Return Ptr(_SendMessage($hWnd, $TB_GETDISABLEDIMAGELIST))
  656. EndFunc ;==>_GUICtrlToolbar_GetDisabledImageList
  657. ; #FUNCTION# ====================================================================================================================
  658. ; Author ........: Paul Campbell (PaulIA)
  659. ; Modified.......:
  660. ; ===============================================================================================================================
  661. Func _GUICtrlToolbar_GetExtendedStyle($hWnd)
  662. Return _SendMessage($hWnd, $TB_GETEXTENDEDSTYLE)
  663. EndFunc ;==>_GUICtrlToolbar_GetExtendedStyle
  664. ; #FUNCTION# ====================================================================================================================
  665. ; Author ........: Paul Campbell (PaulIA)
  666. ; Modified.......:
  667. ; ===============================================================================================================================
  668. Func _GUICtrlToolbar_GetHotImageList($hWnd)
  669. Return Ptr(_SendMessage($hWnd, $TB_GETHOTIMAGELIST))
  670. EndFunc ;==>_GUICtrlToolbar_GetHotImageList
  671. ; #FUNCTION# ====================================================================================================================
  672. ; Author ........: Paul Campbell (PaulIA)
  673. ; Modified.......:
  674. ; ===============================================================================================================================
  675. Func _GUICtrlToolbar_GetHotItem($hWnd)
  676. Return _SendMessage($hWnd, $TB_GETHOTITEM)
  677. EndFunc ;==>_GUICtrlToolbar_GetHotItem
  678. ; #FUNCTION# ====================================================================================================================
  679. ; Author ........: Paul Campbell (PaulIA)
  680. ; Modified.......:
  681. ; ===============================================================================================================================
  682. Func _GUICtrlToolbar_GetImageList($hWnd)
  683. Return Ptr(_SendMessage($hWnd, $TB_GETIMAGELIST))
  684. EndFunc ;==>_GUICtrlToolbar_GetImageList
  685. ; #FUNCTION# ====================================================================================================================
  686. ; Author ........: Paul Campbell (PaulIA)
  687. ; Modified.......: Gary Frost
  688. ; ===============================================================================================================================
  689. Func _GUICtrlToolbar_GetInsertMark($hWnd)
  690. Local $aMark[2], $iRet
  691. Local $tMark = DllStructCreate($tagTBINSERTMARK)
  692. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  693. $iRet = _SendMessage($hWnd, $TB_GETINSERTMARK, 0, $tMark, 0, "wparam", "struct*")
  694. Else
  695. Local $iMark = DllStructGetSize($tMark)
  696. Local $tMemMap
  697. Local $pMemory = _MemInit($hWnd, $iMark, $tMemMap)
  698. $iRet = _SendMessage($hWnd, $TB_GETINSERTMARK, 0, $pMemory, 0, "wparam", "ptr")
  699. _MemRead($tMemMap, $pMemory, $tMark, $iMark)
  700. _MemFree($tMemMap)
  701. EndIf
  702. $aMark[0] = DllStructGetData($tMark, "Button")
  703. $aMark[1] = DllStructGetData($tMark, "Flags")
  704. Return SetError($iRet <> 0, 0, $aMark)
  705. EndFunc ;==>_GUICtrlToolbar_GetInsertMark
  706. ; #FUNCTION# ====================================================================================================================
  707. ; Author ........: Paul Campbell (PaulIA)
  708. ; Modified.......:
  709. ; ===============================================================================================================================
  710. Func _GUICtrlToolbar_GetInsertMarkColor($hWnd)
  711. Return _SendMessage($hWnd, $TB_GETINSERTMARKCOLOR)
  712. EndFunc ;==>_GUICtrlToolbar_GetInsertMarkColor
  713. ; #FUNCTION# ====================================================================================================================
  714. ; Author ........: Paul Campbell (PaulIA)
  715. ; Modified.......: Gary Frost
  716. ; ===============================================================================================================================
  717. Func _GUICtrlToolbar_GetMaxSize($hWnd)
  718. Local $aSize[2], $iRet
  719. Local $tSize = DllStructCreate($tagSIZE)
  720. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  721. $iRet = _SendMessage($hWnd, $TB_GETMAXSIZE, 0, $tSize, 0, "wparam", "struct*")
  722. Else
  723. Local $iSize = DllStructGetSize($tSize)
  724. Local $tMemMap
  725. Local $pMemory = _MemInit($hWnd, $iSize, $tMemMap)
  726. $iRet = _SendMessage($hWnd, $TB_GETMAXSIZE, 0, $pMemory, 0, "wparam", "ptr")
  727. _MemRead($tMemMap, $pMemory, $tSize, $iSize)
  728. _MemFree($tMemMap)
  729. EndIf
  730. $aSize[0] = DllStructGetData($tSize, "X")
  731. $aSize[1] = DllStructGetData($tSize, "Y")
  732. Return SetError($iRet = 0, 0, $aSize)
  733. EndFunc ;==>_GUICtrlToolbar_GetMaxSize
  734. ; #FUNCTION# ====================================================================================================================
  735. ; Author ........: Paul Campbell (PaulIA)
  736. ; Modified.......: Gary Frost
  737. ; ===============================================================================================================================
  738. Func _GUICtrlToolbar_GetMetrics($hWnd)
  739. Local $aMetrics[4]
  740. Local $tMetrics = DllStructCreate($tagTBMETRICS)
  741. Local $iMetrics = DllStructGetSize($tMetrics)
  742. Local $iMask = BitOR($TBMF_PAD, $TBMF_BUTTONSPACING)
  743. DllStructSetData($tMetrics, "Size", $iMetrics)
  744. DllStructSetData($tMetrics, "Mask", $iMask)
  745. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  746. _SendMessage($hWnd, $TB_GETMETRICS, 0, $tMetrics, 0, "wparam", "struct*")
  747. Else
  748. Local $tMemMap
  749. Local $pMemory = _MemInit($hWnd, $iMetrics, $tMemMap)
  750. _SendMessage($hWnd, $TB_GETMETRICS, 0, $pMemory, 0, "wparam", "ptr")
  751. _MemRead($tMemMap, $pMemory, $tMetrics, $iMetrics)
  752. _MemFree($tMemMap)
  753. EndIf
  754. $aMetrics[0] = DllStructGetData($tMetrics, "XPad")
  755. $aMetrics[1] = DllStructGetData($tMetrics, "YPad")
  756. $aMetrics[2] = DllStructGetData($tMetrics, "XSpacing")
  757. $aMetrics[3] = DllStructGetData($tMetrics, "YSpacing")
  758. Return $aMetrics
  759. EndFunc ;==>_GUICtrlToolbar_GetMetrics
  760. ; #FUNCTION# ====================================================================================================================
  761. ; Author ........: Paul Campbell (PaulIA)
  762. ; Modified.......:
  763. ; ===============================================================================================================================
  764. Func _GUICtrlToolbar_GetPadding($hWnd)
  765. Local $aPad[2]
  766. Local $iPad = _SendMessage($hWnd, $TB_GETPADDING)
  767. $aPad[0] = _WinAPI_LoWord($iPad)
  768. $aPad[1] = _WinAPI_HiWord($iPad)
  769. Return $aPad
  770. EndFunc ;==>_GUICtrlToolbar_GetPadding
  771. ; #FUNCTION# ====================================================================================================================
  772. ; Author ........: Paul Campbell (PaulIA)
  773. ; Modified.......:
  774. ; ===============================================================================================================================
  775. Func _GUICtrlToolbar_GetRows($hWnd)
  776. Return _SendMessage($hWnd, $TB_GETROWS)
  777. EndFunc ;==>_GUICtrlToolbar_GetRows
  778. ; #FUNCTION# ====================================================================================================================
  779. ; Author ........: Paul Campbell (PaulIA)
  780. ; Modified.......: Gary Frost
  781. ; ===============================================================================================================================
  782. Func _GUICtrlToolbar_GetString($hWnd, $iIndex)
  783. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  784. Local $iBuffer
  785. If $bUnicode Then
  786. $iBuffer = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong(0, $iIndex), 0, 0, "long") + 1
  787. Else
  788. $iBuffer = _SendMessage($hWnd, $TB_GETSTRINGA, _WinAPI_MakeLong(0, $iIndex), 0, 0, "long") + 1
  789. EndIf
  790. If $iBuffer = 0 Then Return SetError(-1, 0, "")
  791. If $iBuffer = 1 Then Return ""
  792. Local $tBuffer
  793. If $bUnicode Then
  794. $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
  795. $iBuffer *= 2
  796. Else
  797. $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
  798. EndIf
  799. Local $iRet
  800. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  801. $iRet = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong($iBuffer, $iIndex), $tBuffer, 0, "long", "struct*")
  802. Else
  803. Local $tMemMap
  804. Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
  805. If $bUnicode Then
  806. $iRet = _SendMessage($hWnd, $TB_GETSTRINGW, _WinAPI_MakeLong($iBuffer, $iIndex), $pMemory, 0, "long", "ptr")
  807. Else
  808. $iRet = _SendMessage($hWnd, $TB_GETSTRINGA, _WinAPI_MakeLong($iBuffer, $iIndex), $pMemory, 0, "long", "ptr")
  809. EndIf
  810. _MemRead($tMemMap, $pMemory, $tBuffer, $iBuffer)
  811. _MemFree($tMemMap)
  812. EndIf
  813. Return SetError($iRet = -1, 0, DllStructGetData($tBuffer, "Text"))
  814. EndFunc ;==>_GUICtrlToolbar_GetString
  815. ; #FUNCTION# ====================================================================================================================
  816. ; Author ........: Paul Campbell (PaulIA)
  817. ; Modified.......:
  818. ; ===============================================================================================================================
  819. Func _GUICtrlToolbar_GetStyle($hWnd)
  820. Return _SendMessage($hWnd, $TB_GETSTYLE)
  821. EndFunc ;==>_GUICtrlToolbar_GetStyle
  822. ; #FUNCTION# ====================================================================================================================
  823. ; Author ........: Paul Campbell (PaulIA)
  824. ; Modified.......:
  825. ; ===============================================================================================================================
  826. Func _GUICtrlToolbar_GetStyleAltDrag($hWnd)
  827. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_ALTDRAG) <> 0
  828. EndFunc ;==>_GUICtrlToolbar_GetStyleAltDrag
  829. ; #FUNCTION# ====================================================================================================================
  830. ; Author ........: Paul Campbell (PaulIA)
  831. ; Modified.......:
  832. ; ===============================================================================================================================
  833. Func _GUICtrlToolbar_GetStyleCustomErase($hWnd)
  834. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_CUSTOMERASE) <> 0
  835. EndFunc ;==>_GUICtrlToolbar_GetStyleCustomErase
  836. ; #FUNCTION# ====================================================================================================================
  837. ; Author ........: Paul Campbell (PaulIA)
  838. ; Modified.......:
  839. ; ===============================================================================================================================
  840. Func _GUICtrlToolbar_GetStyleFlat($hWnd)
  841. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_FLAT) <> 0
  842. EndFunc ;==>_GUICtrlToolbar_GetStyleFlat
  843. ; #FUNCTION# ====================================================================================================================
  844. ; Author ........: Paul Campbell (PaulIA)
  845. ; Modified.......:
  846. ; ===============================================================================================================================
  847. Func _GUICtrlToolbar_GetStyleList($hWnd)
  848. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_LIST) <> 0
  849. EndFunc ;==>_GUICtrlToolbar_GetStyleList
  850. ; #FUNCTION# ====================================================================================================================
  851. ; Author ........: Paul Campbell (PaulIA)
  852. ; Modified.......:
  853. ; ===============================================================================================================================
  854. Func _GUICtrlToolbar_GetStyleRegisterDrop($hWnd)
  855. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_REGISTERDROP) <> 0
  856. EndFunc ;==>_GUICtrlToolbar_GetStyleRegisterDrop
  857. ; #FUNCTION# ====================================================================================================================
  858. ; Author ........: Paul Campbell (PaulIA)
  859. ; Modified.......:
  860. ; ===============================================================================================================================
  861. Func _GUICtrlToolbar_GetStyleToolTips($hWnd)
  862. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_TOOLTIPS) <> 0
  863. EndFunc ;==>_GUICtrlToolbar_GetStyleToolTips
  864. ; #FUNCTION# ====================================================================================================================
  865. ; Author ........: Paul Campbell (PaulIA)
  866. ; Modified.......:
  867. ; ===============================================================================================================================
  868. Func _GUICtrlToolbar_GetStyleTransparent($hWnd)
  869. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_TRANSPARENT) <> 0
  870. EndFunc ;==>_GUICtrlToolbar_GetStyleTransparent
  871. ; #FUNCTION# ====================================================================================================================
  872. ; Author ........: Paul Campbell (PaulIA)
  873. ; Modified.......:
  874. ; ===============================================================================================================================
  875. Func _GUICtrlToolbar_GetStyleWrapable($hWnd)
  876. Return BitAND(_GUICtrlToolbar_GetStyle($hWnd), $TBSTYLE_WRAPABLE) <> 0
  877. EndFunc ;==>_GUICtrlToolbar_GetStyleWrapable
  878. ; #FUNCTION# ====================================================================================================================
  879. ; Author ........: Paul Campbell (PaulIA)
  880. ; Modified.......:
  881. ; ===============================================================================================================================
  882. Func _GUICtrlToolbar_GetTextRows($hWnd)
  883. Return _SendMessage($hWnd, $TB_GETTEXTROWS)
  884. EndFunc ;==>_GUICtrlToolbar_GetTextRows
  885. ; #FUNCTION# ====================================================================================================================
  886. ; Author ........: Paul Campbell (PaulIA)
  887. ; Modified.......:
  888. ; ===============================================================================================================================
  889. Func _GUICtrlToolbar_GetToolTips($hWnd)
  890. Return HWnd(_SendMessage($hWnd, $TB_GETTOOLTIPS))
  891. EndFunc ;==>_GUICtrlToolbar_GetToolTips
  892. ; #FUNCTION# ====================================================================================================================
  893. ; Author ........: Paul Campbell (PaulIA)
  894. ; Modified.......:
  895. ; ===============================================================================================================================
  896. Func _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  897. Return _SendMessage($hWnd, $TB_GETUNICODEFORMAT) <> 0
  898. EndFunc ;==>_GUICtrlToolbar_GetUnicodeFormat
  899. ; #FUNCTION# ====================================================================================================================
  900. ; Author ........: Paul Campbell (PaulIA)
  901. ; Modified.......:
  902. ; ===============================================================================================================================
  903. Func _GUICtrlToolbar_HideButton($hWnd, $iCommandID, $bHide = True)
  904. Return _SendMessage($hWnd, $TB_HIDEBUTTON, $iCommandID, $bHide) <> 0
  905. EndFunc ;==>_GUICtrlToolbar_HideButton
  906. ; #FUNCTION# ====================================================================================================================
  907. ; Author ........: Paul Campbell (PaulIA)
  908. ; Modified.......:
  909. ; ===============================================================================================================================
  910. Func _GUICtrlToolbar_HighlightButton($hWnd, $iCommandID, $bHighlight = True)
  911. Return _SendMessage($hWnd, $TB_MARKBUTTON, $iCommandID, $bHighlight) <> 0
  912. EndFunc ;==>_GUICtrlToolbar_HighlightButton
  913. ; #FUNCTION# ====================================================================================================================
  914. ; Author ........: Paul Campbell (PaulIA)
  915. ; Modified.......: Gary Frost
  916. ; ===============================================================================================================================
  917. Func _GUICtrlToolbar_HitTest($hWnd, $iX, $iY)
  918. Local $tPoint = DllStructCreate($tagPOINT)
  919. DllStructSetData($tPoint, "X", $iX)
  920. DllStructSetData($tPoint, "Y", $iY)
  921. Local $iRet
  922. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  923. $iRet = _SendMessage($hWnd, $TB_HITTEST, 0, $tPoint, 0, "wparam", "struct*")
  924. Else
  925. Local $iPoint = DllStructGetSize($tPoint)
  926. Local $tMemMap
  927. Local $pMemory = _MemInit($hWnd, $iPoint, $tMemMap)
  928. _MemWrite($tMemMap, $tPoint, $pMemory, $iPoint)
  929. $iRet = _SendMessage($hWnd, $TB_HITTEST, 0, $pMemory, 0, "wparam", "ptr")
  930. _MemFree($tMemMap)
  931. EndIf
  932. Return $iRet
  933. EndFunc ;==>_GUICtrlToolbar_HitTest
  934. ; #FUNCTION# ====================================================================================================================
  935. ; Author ........: Paul Campbell (PaulIA)
  936. ; Modified.......:
  937. ; ===============================================================================================================================
  938. Func _GUICtrlToolbar_IndexToCommand($hWnd, $iIndex)
  939. Local $tButton = DllStructCreate($tagTBBUTTON)
  940. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  941. _SendMessage($hWnd, $TB_GETBUTTON, $iIndex, $tButton, 0, "wparam", "struct*")
  942. Else
  943. Local $iButton = DllStructGetSize($tButton)
  944. Local $tMemMap
  945. Local $pMemory = _MemInit($hWnd, $iButton, $tMemMap)
  946. _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
  947. _SendMessage($hWnd, $TB_GETBUTTON, $iIndex, $pMemory, 0, "wparam", "ptr")
  948. _MemRead($tMemMap, $pMemory, $tButton, $iButton)
  949. _MemFree($tMemMap)
  950. EndIf
  951. Return DllStructGetData($tButton, "Command")
  952. EndFunc ;==>_GUICtrlToolbar_IndexToCommand
  953. ; #FUNCTION# ====================================================================================================================
  954. ; Author ........: Paul Campbell (PaulIA)
  955. ; Modified.......: Gary Frost
  956. ; ===============================================================================================================================
  957. Func _GUICtrlToolbar_InsertButton($hWnd, $iIndex, $iID, $iImage, $sText = "", $iStyle = 0, $iState = 4, $iParam = 0)
  958. Local $bUnicode = _GUICtrlToolbar_GetUnicodeFormat($hWnd)
  959. Local $tBuffer, $iRet
  960. Local $tButton = DllStructCreate($tagTBBUTTON)
  961. Local $iBuffer = StringLen($sText) + 1
  962. If $iBuffer > 1 Then
  963. If $bUnicode Then
  964. $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
  965. $iBuffer *= 2
  966. Else
  967. $tBuffer = DllStructCreate("char Text[" & $iBuffer & "]")
  968. EndIf
  969. DllStructSetData($tBuffer, "Text", $sText)
  970. DllStructSetData($tButton, "String", DllStructGetPtr($tBuffer))
  971. EndIf
  972. DllStructSetData($tButton, "Bitmap", $iImage)
  973. DllStructSetData($tButton, "Command", $iID)
  974. DllStructSetData($tButton, "State", $iState)
  975. DllStructSetData($tButton, "Style", $iStyle)
  976. DllStructSetData($tButton, "Param", $iParam)
  977. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  978. $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONW, $iIndex, $tButton, 0, "wparam", "struct*")
  979. Else
  980. Local $iButton = DllStructGetSize($tButton)
  981. Local $tMemMap
  982. Local $pMemory = _MemInit($hWnd, $iButton + $iBuffer, $tMemMap)
  983. Local $pText = $pMemory + $iButton
  984. _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
  985. If $iBuffer > 1 Then
  986. DllStructSetData($tButton, "String", $pText)
  987. _MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
  988. EndIf
  989. If $bUnicode Then
  990. $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONW, $iIndex, $pMemory, 0, "wparam", "ptr")
  991. Else
  992. $iRet = _SendMessage($hWnd, $TB_INSERTBUTTONA, $iIndex, $pMemory, 0, "wparam", "ptr")
  993. EndIf
  994. _MemFree($tMemMap)
  995. EndIf
  996. Return $iRet <> 0
  997. EndFunc ;==>_GUICtrlToolbar_InsertButton
  998. ; #FUNCTION# ====================================================================================================================
  999. ; Author ........: Paul Campbell (PaulIA)
  1000. ; Modified.......: Gary Frost
  1001. ; ===============================================================================================================================
  1002. Func _GUICtrlToolbar_InsertMarkHitTest($hWnd, $iX, $iY)
  1003. Local $aMark[2], $iRet
  1004. Local $tPoint = DllStructCreate($tagPOINT)
  1005. Local $tMark = DllStructCreate($tagTBINSERTMARK)
  1006. DllStructSetData($tPoint, "X", $iX)
  1007. DllStructSetData($tPoint, "Y", $iY)
  1008. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1009. $iRet = _SendMessage($hWnd, $TB_INSERTMARKHITTEST, $tPoint, $tMark, 0, "struct*", "struct*")
  1010. Else
  1011. Local $iPoint = DllStructGetSize($tPoint)
  1012. Local $iMark = DllStructGetSize($tMark)
  1013. Local $tMemMap
  1014. Local $pMemory = _MemInit($hWnd, $iPoint + $iMark, $tMemMap)
  1015. Local $pMarkPtr = $pMemory + $iPoint
  1016. _MemWrite($tMemMap, $tPoint, $pMemory, $iPoint)
  1017. $iRet = _SendMessage($hWnd, $TB_INSERTMARKHITTEST, $pMemory, $pMarkPtr, 0, "wparam", "ptr")
  1018. _MemRead($tMemMap, $pMarkPtr, $tMark, $iMark)
  1019. _MemFree($tMemMap)
  1020. EndIf
  1021. $aMark[0] = DllStructGetData($tMark, "Button")
  1022. $aMark[1] = DllStructGetData($tMark, "Flags")
  1023. Return SetError($iRet <> 0, 0, $aMark)
  1024. EndFunc ;==>_GUICtrlToolbar_InsertMarkHitTest
  1025. ; #FUNCTION# ====================================================================================================================
  1026. ; Author ........: Paul Campbell (PaulIA)
  1027. ; Modified.......:
  1028. ; ===============================================================================================================================
  1029. Func _GUICtrlToolbar_IsButtonChecked($hWnd, $iCommandID)
  1030. Return _SendMessage($hWnd, $TB_ISBUTTONCHECKED, $iCommandID) <> 0
  1031. EndFunc ;==>_GUICtrlToolbar_IsButtonChecked
  1032. ; #FUNCTION# ====================================================================================================================
  1033. ; Author ........: Paul Campbell (PaulIA)
  1034. ; Modified.......:
  1035. ; ===============================================================================================================================
  1036. Func _GUICtrlToolbar_IsButtonEnabled($hWnd, $iCommandID)
  1037. Return _SendMessage($hWnd, $TB_ISBUTTONENABLED, $iCommandID) <> 0
  1038. EndFunc ;==>_GUICtrlToolbar_IsButtonEnabled
  1039. ; #FUNCTION# ====================================================================================================================
  1040. ; Author ........: Paul Campbell (PaulIA)
  1041. ; Modified.......:
  1042. ; ===============================================================================================================================
  1043. Func _GUICtrlToolbar_IsButtonHidden($hWnd, $iCommandID)
  1044. Return _SendMessage($hWnd, $TB_ISBUTTONHIDDEN, $iCommandID) <> 0
  1045. EndFunc ;==>_GUICtrlToolbar_IsButtonHidden
  1046. ; #FUNCTION# ====================================================================================================================
  1047. ; Author ........: Paul Campbell (PaulIA)
  1048. ; Modified.......:
  1049. ; ===============================================================================================================================
  1050. Func _GUICtrlToolbar_IsButtonHighlighted($hWnd, $iCommandID)
  1051. Return _SendMessage($hWnd, $TB_ISBUTTONHIGHLIGHTED, $iCommandID) <> 0
  1052. EndFunc ;==>_GUICtrlToolbar_IsButtonHighlighted
  1053. ; #FUNCTION# ====================================================================================================================
  1054. ; Author ........: Paul Campbell (PaulIA)
  1055. ; Modified.......:
  1056. ; ===============================================================================================================================
  1057. Func _GUICtrlToolbar_IsButtonIndeterminate($hWnd, $iCommandID)
  1058. Return _SendMessage($hWnd, $TB_ISBUTTONINDETERMINATE, $iCommandID) <> 0
  1059. EndFunc ;==>_GUICtrlToolbar_IsButtonIndeterminate
  1060. ; #FUNCTION# ====================================================================================================================
  1061. ; Author ........: Paul Campbell (PaulIA)
  1062. ; Modified.......:
  1063. ; ===============================================================================================================================
  1064. Func _GUICtrlToolbar_IsButtonPressed($hWnd, $iCommandID)
  1065. Return _SendMessage($hWnd, $TB_ISBUTTONPRESSED, $iCommandID) <> 0
  1066. EndFunc ;==>_GUICtrlToolbar_IsButtonPressed
  1067. ; #FUNCTION# ====================================================================================================================
  1068. ; Author ........: Paul Campbell (PaulIA)
  1069. ; Modified.......:
  1070. ; ===============================================================================================================================
  1071. Func _GUICtrlToolbar_LoadBitmap($hWnd, $sFileName)
  1072. Local $aSize = _GUICtrlToolbar_GetButtonSize($hWnd)
  1073. Local $hBitmap = _WinAPI_LoadImage(0, $sFileName, 0, $aSize[1], $aSize[0], $LR_LOADFROMFILE)
  1074. If $hBitmap = 0 Then Return SetError(-1, -1, -1)
  1075. Return _GUICtrlToolbar_AddBitmap($hWnd, 1, 0, $hBitmap)
  1076. EndFunc ;==>_GUICtrlToolbar_LoadBitmap
  1077. ; #FUNCTION# ====================================================================================================================
  1078. ; Author ........: Paul Campbell (PaulIA)
  1079. ; Modified.......:
  1080. ; ===============================================================================================================================
  1081. Func _GUICtrlToolbar_LoadImages($hWnd, $iBitMapID)
  1082. Return _SendMessage($hWnd, $TB_LOADIMAGES, $iBitMapID, $__TOOLBARCONSTANT_HINST_COMMCTRL)
  1083. EndFunc ;==>_GUICtrlToolbar_LoadImages
  1084. ; #FUNCTION# ====================================================================================================================
  1085. ; Author ........: Paul Campbell (PaulIA)
  1086. ; Modified.......: Gary Frost
  1087. ; ===============================================================================================================================
  1088. Func _GUICtrlToolbar_MapAccelerator($hWnd, $sAccelKey)
  1089. Local $tCommand = DllStructCreate("int Data")
  1090. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1091. _SendMessage($hWnd, $TB_MAPACCELERATORW, Asc($sAccelKey), $tCommand, 0, "wparam", "struct*")
  1092. Else
  1093. Local $iCommand = DllStructGetSize($tCommand)
  1094. Local $tMemMap
  1095. Local $pMemory = _MemInit($hWnd, $iCommand, $tMemMap)
  1096. _SendMessage($hWnd, $TB_MAPACCELERATORW, Asc($sAccelKey), $pMemory, 0, "wparam", "ptr")
  1097. _MemRead($tMemMap, $pMemory, $tCommand, $iCommand)
  1098. _MemFree($tMemMap)
  1099. EndIf
  1100. Return DllStructGetData($tCommand, "Data")
  1101. EndFunc ;==>_GUICtrlToolbar_MapAccelerator
  1102. ; #FUNCTION# ====================================================================================================================
  1103. ; Author ........: Paul Campbell (PaulIA)
  1104. ; Modified.......:
  1105. ; ===============================================================================================================================
  1106. Func _GUICtrlToolbar_MoveButton($hWnd, $iOldPos, $iNewPos)
  1107. Return _SendMessage($hWnd, $TB_MOVEBUTTON, $iOldPos, $iNewPos) <> 0
  1108. EndFunc ;==>_GUICtrlToolbar_MoveButton
  1109. ; #FUNCTION# ====================================================================================================================
  1110. ; Author ........: Paul Campbell (PaulIA)
  1111. ; Modified.......:
  1112. ; ===============================================================================================================================
  1113. Func _GUICtrlToolbar_PressButton($hWnd, $iCommandID, $bPress = True)
  1114. Return _SendMessage($hWnd, $TB_PRESSBUTTON, $iCommandID, $bPress) <> 0
  1115. EndFunc ;==>_GUICtrlToolbar_PressButton
  1116. ; #FUNCTION# ====================================================================================================================
  1117. ; Author ........: Paul Campbell (PaulIA)
  1118. ; Modified.......:
  1119. ; ===============================================================================================================================
  1120. Func _GUICtrlToolbar_SetAnchorHighlight($hWnd, $bAnchor)
  1121. Return _SendMessage($hWnd, $TB_SETANCHORHIGHLIGHT, $bAnchor)
  1122. EndFunc ;==>_GUICtrlToolbar_SetAnchorHighlight
  1123. ; #FUNCTION# ====================================================================================================================
  1124. ; Author ........: Paul Campbell (PaulIA)
  1125. ; Modified.......: Gary Frost
  1126. ; ===============================================================================================================================
  1127. Func _GUICtrlToolbar_SetBitmapSize($hWnd, $iWidth, $iHeight)
  1128. Return _SendMessage($hWnd, $TB_SETBITMAPSIZE, 0, _WinAPI_MakeLong($iWidth, $iHeight), 0, "wparam", "long") <> 0
  1129. EndFunc ;==>_GUICtrlToolbar_SetBitmapSize
  1130. ; #FUNCTION# ====================================================================================================================
  1131. ; Author ........: Paul Campbell (PaulIA)
  1132. ; Modified.......:
  1133. ; ===============================================================================================================================
  1134. Func _GUICtrlToolbar_SetButtonBitMap($hWnd, $iCommandID, $iIndex)
  1135. Return _SendMessage($hWnd, $TB_CHANGEBITMAP, $iCommandID, $iIndex) <> 0
  1136. EndFunc ;==>_GUICtrlToolbar_SetButtonBitMap
  1137. ; #FUNCTION# ====================================================================================================================
  1138. ; Author ........: Paul Campbell (PaulIA)
  1139. ; Modified.......:
  1140. ; ===============================================================================================================================
  1141. Func _GUICtrlToolbar_SetButtonInfo($hWnd, $iCommandID, $iImage = -3, $iState = -1, $iStyle = -1, $iWidth = -1, $iParam = -1)
  1142. Local $iMask = 0
  1143. Local $tButton = DllStructCreate($tagTBBUTTONINFO)
  1144. If $iImage <> -3 Then
  1145. $iMask = $TBIF_IMAGE
  1146. DllStructSetData($tButton, "Image", $iImage)
  1147. EndIf
  1148. If $iState <> -1 Then
  1149. $iMask = BitOR($iMask, $TBIF_STATE)
  1150. DllStructSetData($tButton, "State", $iState)
  1151. EndIf
  1152. If $iStyle <> -1 Then
  1153. $iMask = BitOR($iMask, $TBIF_STYLE)
  1154. DllStructSetData($tButton, "Style", $iStyle)
  1155. EndIf
  1156. If $iWidth <> -1 Then
  1157. $iMask = BitOR($iMask, $TBIF_SIZE)
  1158. DllStructSetData($tButton, "CX", $iWidth)
  1159. EndIf
  1160. If $iParam <> -1 Then
  1161. $iMask = BitOR($iMask, $TBIF_LPARAM)
  1162. DllStructSetData($tButton, "Param", $iParam)
  1163. EndIf
  1164. DllStructSetData($tButton, "Mask", $iMask)
  1165. Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
  1166. EndFunc ;==>_GUICtrlToolbar_SetButtonInfo
  1167. ; #FUNCTION# ====================================================================================================================
  1168. ; Author ........: Paul Campbell (PaulIA)
  1169. ; Modified.......: Gary Frost
  1170. ; ===============================================================================================================================
  1171. Func _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
  1172. Local $iButton = DllStructGetSize($tButton)
  1173. DllStructSetData($tButton, "Size", $iButton)
  1174. Local $iRet
  1175. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1176. $iRet = _SendMessage($hWnd, $TB_SETBUTTONINFOW, $iCommandID, $tButton, 0, "wparam", "struct*")
  1177. Else
  1178. Local $iBuffer = DllStructGetData($tButton, "TextMax")
  1179. Local $tMemMap
  1180. Local $pMemory = _MemInit($hWnd, $iButton + $iBuffer, $tMemMap)
  1181. Local $pBuffer = $pMemory + $iButton
  1182. DllStructSetData($tButton, "Text", $pBuffer)
  1183. _MemWrite($tMemMap, $tButton, $pMemory, $iButton)
  1184. _MemWrite($tMemMap, $pBuffer, $pBuffer, $iBuffer)
  1185. $iRet = _SendMessage($hWnd, $TB_SETBUTTONINFOW, $iCommandID, $pMemory, 0, "wparam", "ptr")
  1186. _MemFree($tMemMap)
  1187. EndIf
  1188. Return $iRet <> 0
  1189. EndFunc ;==>_GUICtrlToolbar_SetButtonInfoEx
  1190. ; #FUNCTION# ====================================================================================================================
  1191. ; Author ........: Paul Campbell (PaulIA)
  1192. ; Modified.......:
  1193. ; ===============================================================================================================================
  1194. Func _GUICtrlToolbar_SetButtonParam($hWnd, $iCommandID, $iParam)
  1195. Local $tButton = DllStructCreate($tagTBBUTTONINFO)
  1196. DllStructSetData($tButton, "Mask", $TBIF_LPARAM)
  1197. DllStructSetData($tButton, "Param", $iParam)
  1198. Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
  1199. EndFunc ;==>_GUICtrlToolbar_SetButtonParam
  1200. ; #FUNCTION# ====================================================================================================================
  1201. ; Author ........: Paul Campbell (PaulIA)
  1202. ; Modified.......: Gary Frost
  1203. ; ===============================================================================================================================
  1204. Func _GUICtrlToolbar_SetButtonSize($hWnd, $iHeight, $iWidth)
  1205. Return _SendMessage($hWnd, $TB_SETBUTTONSIZE, 0, _WinAPI_MakeLong($iWidth, $iHeight), 0, "wparam", "long") <> 0
  1206. EndFunc ;==>_GUICtrlToolbar_SetButtonSize
  1207. ; #FUNCTION# ====================================================================================================================
  1208. ; Author ........: Paul Campbell (PaulIA)
  1209. ; Modified.......:
  1210. ; ===============================================================================================================================
  1211. Func _GUICtrlToolbar_SetButtonState($hWnd, $iCommandID, $iState)
  1212. Return _SendMessage($hWnd, $TB_SETSTATE, $iCommandID, $iState) <> 0
  1213. EndFunc ;==>_GUICtrlToolbar_SetButtonState
  1214. ; #FUNCTION# ====================================================================================================================
  1215. ; Author ........: Paul Campbell (PaulIA)
  1216. ; Modified.......:
  1217. ; ===============================================================================================================================
  1218. Func _GUICtrlToolbar_SetButtonStyle($hWnd, $iCommandID, $iStyle)
  1219. Local $tButton = DllStructCreate($tagTBBUTTONINFO)
  1220. DllStructSetData($tButton, "Mask", $TBIF_STYLE)
  1221. DllStructSetData($tButton, "Style", $iStyle)
  1222. Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
  1223. EndFunc ;==>_GUICtrlToolbar_SetButtonStyle
  1224. ; #FUNCTION# ====================================================================================================================
  1225. ; Author ........: Paul Campbell (PaulIA)
  1226. ; Modified.......:
  1227. ; ===============================================================================================================================
  1228. Func _GUICtrlToolbar_SetButtonText($hWnd, $iCommandID, $sText)
  1229. Local $iBuffer = StringLen($sText) + 1
  1230. Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer * 2 & "]")
  1231. $iBuffer *= 2
  1232. Local $pBuffer = DllStructGetPtr($tBuffer)
  1233. Local $tButton = DllStructCreate($tagTBBUTTONINFO)
  1234. DllStructSetData($tBuffer, "Text", $sText)
  1235. DllStructSetData($tButton, "Mask", $TBIF_TEXT)
  1236. DllStructSetData($tButton, "Text", $pBuffer)
  1237. DllStructSetData($tButton, "TextMax", $iBuffer)
  1238. Return _GUICtrlToolbar_SetButtonInfoEx($hWnd, $iCommandID, $tButton)
  1239. EndFunc ;==>_GUICtrlToolbar_SetButtonText
  1240. ; #FUNCTION# ====================================================================================================================
  1241. ; Author ........: Paul Campbell (PaulIA)
  1242. ; Modified.......: Gary Frost
  1243. ; ===============================================================================================================================
  1244. Func _GUICtrlToolbar_SetButtonWidth($hWnd, $iMin, $iMax)
  1245. Return _SendMessage($hWnd, $TB_SETBUTTONWIDTH, 0, _WinAPI_MakeLong($iMin, $iMax), 0, "wparam", "long") <> 0
  1246. EndFunc ;==>_GUICtrlToolbar_SetButtonWidth
  1247. ; #FUNCTION# ====================================================================================================================
  1248. ; Author ........: Paul Campbell (PaulIA)
  1249. ; Modified.......:
  1250. ; ===============================================================================================================================
  1251. Func _GUICtrlToolbar_SetCmdID($hWnd, $iIndex, $iCommandID)
  1252. Return _SendMessage($hWnd, $TB_SETCMDID, $iIndex, $iCommandID) <> 0
  1253. EndFunc ;==>_GUICtrlToolbar_SetCmdID
  1254. ; #FUNCTION# ====================================================================================================================
  1255. ; Author ........: Paul Campbell (PaulIA)
  1256. ; Modified.......: Gary Frost
  1257. ; ===============================================================================================================================
  1258. Func _GUICtrlToolbar_SetColorScheme($hWnd, $iHighlight, $iShadow)
  1259. Local $tColor = DllStructCreate($tagCOLORSCHEME)
  1260. Local $iColor = DllStructGetSize($tColor)
  1261. DllStructSetData($tColor, "Size", $iColor)
  1262. DllStructSetData($tColor, "BtnHighlight", $iHighlight)
  1263. DllStructSetData($tColor, "BtnShadow", $iShadow)
  1264. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1265. _SendMessage($hWnd, $TB_SETCOLORSCHEME, 0, $tColor, 0, "wparam", "struct*")
  1266. Else
  1267. Local $tMemMap
  1268. Local $pMemory = _MemInit($hWnd, $iColor, $tMemMap)
  1269. _MemWrite($tMemMap, $tColor, $pMemory, $iColor)
  1270. _SendMessage($hWnd, $TB_SETCOLORSCHEME, 0, $pMemory, 0, "wparam", "ptr")
  1271. _MemFree($tMemMap)
  1272. EndIf
  1273. EndFunc ;==>_GUICtrlToolbar_SetColorScheme
  1274. ; #FUNCTION# ====================================================================================================================
  1275. ; Author ........: Paul Campbell (PaulIA)
  1276. ; Modified.......: Gary Frost
  1277. ; ===============================================================================================================================
  1278. Func _GUICtrlToolbar_SetDisabledImageList($hWnd, $hImageList)
  1279. Return _SendMessage($hWnd, $TB_SETDISABLEDIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
  1280. EndFunc ;==>_GUICtrlToolbar_SetDisabledImageList
  1281. ; #FUNCTION# ====================================================================================================================
  1282. ; Author ........: Paul Campbell (PaulIA)
  1283. ; Modified.......:
  1284. ; ===============================================================================================================================
  1285. Func _GUICtrlToolbar_SetDrawTextFlags($hWnd, $iMask, $iDTFlags)
  1286. Return _SendMessage($hWnd, $TB_SETDRAWTEXTFLAGS, $iMask, $iDTFlags)
  1287. EndFunc ;==>_GUICtrlToolbar_SetDrawTextFlags
  1288. ; #FUNCTION# ====================================================================================================================
  1289. ; Author ........: Paul Campbell (PaulIA)
  1290. ; Modified.......:
  1291. ; ===============================================================================================================================
  1292. Func _GUICtrlToolbar_SetExtendedStyle($hWnd, $iStyle)
  1293. Return _SendMessage($hWnd, $TB_SETEXTENDEDSTYLE, 0, $iStyle)
  1294. EndFunc ;==>_GUICtrlToolbar_SetExtendedStyle
  1295. ; #FUNCTION# ====================================================================================================================
  1296. ; Author ........: Paul Campbell (PaulIA)
  1297. ; Modified.......: Gary Frost
  1298. ; ===============================================================================================================================
  1299. Func _GUICtrlToolbar_SetHotImageList($hWnd, $hImageList)
  1300. Return _SendMessage($hWnd, $TB_SETHOTIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
  1301. EndFunc ;==>_GUICtrlToolbar_SetHotImageList
  1302. ; #FUNCTION# ====================================================================================================================
  1303. ; Author ........: Paul Campbell (PaulIA)
  1304. ; Modified.......:
  1305. ; ===============================================================================================================================
  1306. Func _GUICtrlToolbar_SetHotItem($hWnd, $iIndex)
  1307. Return _SendMessage($hWnd, $TB_SETHOTITEM, $iIndex)
  1308. EndFunc ;==>_GUICtrlToolbar_SetHotItem
  1309. ; #FUNCTION# ====================================================================================================================
  1310. ; Author ........: Paul Campbell (PaulIA)
  1311. ; Modified.......: Gary Frost
  1312. ; ===============================================================================================================================
  1313. Func _GUICtrlToolbar_SetImageList($hWnd, $hImageList)
  1314. Return _SendMessage($hWnd, $TB_SETIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle")
  1315. EndFunc ;==>_GUICtrlToolbar_SetImageList
  1316. ; #FUNCTION# ====================================================================================================================
  1317. ; Author ........: Paul Campbell (PaulIA)
  1318. ; Modified.......:
  1319. ; ===============================================================================================================================
  1320. Func _GUICtrlToolbar_SetIndent($hWnd, $iIndent)
  1321. Return _SendMessage($hWnd, $TB_SETINDENT, $iIndent) <> 0
  1322. EndFunc ;==>_GUICtrlToolbar_SetIndent
  1323. ; #FUNCTION# ====================================================================================================================
  1324. ; Author ........: Paul Campbell (PaulIA)
  1325. ; Modified.......:
  1326. ; ===============================================================================================================================
  1327. Func _GUICtrlToolbar_SetIndeterminate($hWnd, $iCommandID, $bState = True)
  1328. Return _SendMessage($hWnd, $TB_INDETERMINATE, $iCommandID, $bState) <> 0
  1329. EndFunc ;==>_GUICtrlToolbar_SetIndeterminate
  1330. ; #FUNCTION# ====================================================================================================================
  1331. ; Author ........: Paul Campbell (PaulIA)
  1332. ; Modified.......: Gary Frost
  1333. ; ===============================================================================================================================
  1334. Func _GUICtrlToolbar_SetInsertMark($hWnd, $iButton, $iFlags = 0)
  1335. Local $tMark = DllStructCreate($tagTBINSERTMARK)
  1336. DllStructSetData($tMark, "Button", $iButton)
  1337. DllStructSetData($tMark, "Flags", $iFlags)
  1338. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1339. _SendMessage($hWnd, $TB_SETINSERTMARK, 0, $tMark, 0, "wparam", "struct*")
  1340. Else
  1341. Local $iMark = DllStructGetSize($tMark)
  1342. Local $tMemMap
  1343. Local $pMemory = _MemInit($hWnd, $iMark, $tMemMap)
  1344. _MemWrite($tMemMap, $tMark, $pMemory, $iMark)
  1345. _SendMessage($hWnd, $TB_SETINSERTMARK, 0, $pMemory, 0, "wparam", "ptr")
  1346. _MemFree($tMemMap)
  1347. EndIf
  1348. EndFunc ;==>_GUICtrlToolbar_SetInsertMark
  1349. ; #FUNCTION# ====================================================================================================================
  1350. ; Author ........: Paul Campbell (PaulIA)
  1351. ; Modified.......:
  1352. ; ===============================================================================================================================
  1353. Func _GUICtrlToolbar_SetInsertMarkColor($hWnd, $iColor)
  1354. Return _SendMessage($hWnd, $TB_SETINSERTMARKCOLOR, 0, $iColor)
  1355. EndFunc ;==>_GUICtrlToolbar_SetInsertMarkColor
  1356. ; #FUNCTION# ====================================================================================================================
  1357. ; Author ........: Paul Campbell (PaulIA)
  1358. ; Modified.......:
  1359. ; ===============================================================================================================================
  1360. Func _GUICtrlToolbar_SetMaxTextRows($hWnd, $iMaxRows)
  1361. Return _SendMessage($hWnd, $TB_SETMAXTEXTROWS, $iMaxRows) <> 0
  1362. EndFunc ;==>_GUICtrlToolbar_SetMaxTextRows
  1363. ; #FUNCTION# ====================================================================================================================
  1364. ; Author ........: Paul Campbell (PaulIA)
  1365. ; Modified.......: Gary Frost
  1366. ; ===============================================================================================================================
  1367. Func _GUICtrlToolbar_SetMetrics($hWnd, $iXPad, $iYPad, $iXSpacing, $iYSpacing)
  1368. Local $tMetrics = DllStructCreate($tagTBMETRICS)
  1369. Local $iMetrics = DllStructGetSize($tMetrics)
  1370. Local $iMask = BitOR($TBMF_PAD, $TBMF_BUTTONSPACING)
  1371. DllStructSetData($tMetrics, "Size", $iMetrics)
  1372. DllStructSetData($tMetrics, "Mask", $iMask)
  1373. DllStructSetData($tMetrics, "XPad", $iXPad)
  1374. DllStructSetData($tMetrics, "YPad", $iYPad)
  1375. DllStructSetData($tMetrics, "XSpacing", $iXSpacing)
  1376. DllStructSetData($tMetrics, "YSpacing", $iYSpacing)
  1377. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1378. _SendMessage($hWnd, $TB_SETMETRICS, 0, $tMetrics, 0, "wparam", "struct*")
  1379. Else
  1380. Local $tMemMap
  1381. Local $pMemory = _MemInit($hWnd, $iMetrics, $tMemMap)
  1382. _MemWrite($tMemMap, $tMetrics, $pMemory, $iMetrics)
  1383. _SendMessage($hWnd, $TB_SETMETRICS, 0, $pMemory, 0, "wparam", "ptr")
  1384. _MemFree($tMemMap)
  1385. EndIf
  1386. EndFunc ;==>_GUICtrlToolbar_SetMetrics
  1387. ; #FUNCTION# ====================================================================================================================
  1388. ; Author ........: Paul Campbell (PaulIA)
  1389. ; Modified.......: Gary Frost
  1390. ; ===============================================================================================================================
  1391. Func _GUICtrlToolbar_SetPadding($hWnd, $iCX, $iCY)
  1392. Return _SendMessage($hWnd, $TB_SETPADDING, 0, _WinAPI_MakeLong($iCX, $iCY), 0, "wparam", "long")
  1393. EndFunc ;==>_GUICtrlToolbar_SetPadding
  1394. ; #FUNCTION# ====================================================================================================================
  1395. ; Author ........: Paul Campbell (PaulIA)
  1396. ; Modified.......:
  1397. ; ===============================================================================================================================
  1398. Func _GUICtrlToolbar_SetParent($hWnd, $hParent)
  1399. Return HWnd(_SendMessage($hWnd, $TB_SETPARENT, $hParent))
  1400. EndFunc ;==>_GUICtrlToolbar_SetParent
  1401. ; #FUNCTION# ====================================================================================================================
  1402. ; Author ........: Paul Campbell (PaulIA)
  1403. ; Modified.......: Gary Frost
  1404. ; ===============================================================================================================================
  1405. Func _GUICtrlToolbar_SetRows($hWnd, $iRows, $bLarger = True)
  1406. Local $tRECT = DllStructCreate($tagRECT)
  1407. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1408. _SendMessage($hWnd, $TB_SETROWS, _WinAPI_MakeLong($iRows, $bLarger), $tRECT, 0, "long", "struct*")
  1409. Else
  1410. Local $iRect = DllStructGetSize($tRECT)
  1411. Local $tMemMap
  1412. Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
  1413. _SendMessage($hWnd, $TB_SETROWS, _WinAPI_MakeLong($iRows, $bLarger), $pMemory, 0, "long", "ptr")
  1414. _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
  1415. _MemFree($tMemMap)
  1416. EndIf
  1417. Local $aRect[4]
  1418. $aRect[0] = DllStructGetData($tRECT, "Left")
  1419. $aRect[1] = DllStructGetData($tRECT, "Top")
  1420. $aRect[2] = DllStructGetData($tRECT, "Right")
  1421. $aRect[3] = DllStructGetData($tRECT, "Bottom")
  1422. Return $aRect
  1423. EndFunc ;==>_GUICtrlToolbar_SetRows
  1424. ; #FUNCTION# ====================================================================================================================
  1425. ; Author ........: Paul Campbell (PaulIA)
  1426. ; Modified.......:
  1427. ; ===============================================================================================================================
  1428. Func _GUICtrlToolbar_SetStyle($hWnd, $iStyle)
  1429. $iStyle = BitOR($iStyle, $__UDFGUICONSTANT_WS_CHILD, $__TOOLBARCONSTANT_WS_CLIPSIBLINGS, $__UDFGUICONSTANT_WS_VISIBLE)
  1430. _SendMessage($hWnd, $TB_SETSTYLE, 0, $iStyle)
  1431. EndFunc ;==>_GUICtrlToolbar_SetStyle
  1432. ; #FUNCTION# ====================================================================================================================
  1433. ; Author ........: Paul Campbell (PaulIA)
  1434. ; Modified.......:
  1435. ; ===============================================================================================================================
  1436. Func _GUICtrlToolbar_SetStyleAltDrag($hWnd, $bState = True)
  1437. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_ALTDRAG, $bState)
  1438. EndFunc ;==>_GUICtrlToolbar_SetStyleAltDrag
  1439. ; #FUNCTION# ====================================================================================================================
  1440. ; Author ........: Paul Campbell (PaulIA)
  1441. ; Modified.......:
  1442. ; ===============================================================================================================================
  1443. Func _GUICtrlToolbar_SetStyleCustomErase($hWnd, $bState = True)
  1444. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_CUSTOMERASE, $bState)
  1445. EndFunc ;==>_GUICtrlToolbar_SetStyleCustomErase
  1446. ; #INTERNAL_USE_ONLY# ===========================================================================================================
  1447. ; Name...........: __GUICtrlToolbar_SetStyleEx
  1448. ; Description ...: Changes a style for the toolbar
  1449. ; Syntax.........: __GUICtrlToolbar_SetStyleEx ( $hWnd, $iStyle, $bStyle )
  1450. ; Parameters ....: $hWnd - Handle to the control
  1451. ; $iStyle - Style to be changed
  1452. ; $bStyle - True to set, false to unset
  1453. ; Return values .: Success - True
  1454. ; Failure - False
  1455. ; Author ........: Paul Campbell (PaulIA)
  1456. ; Modified.......:
  1457. ; Remarks .......: This function is used internally to implement the SetStylex functions
  1458. ; Related .......:
  1459. ; Link ..........:
  1460. ; Example .......:
  1461. ; ===============================================================================================================================
  1462. Func __GUICtrlToolbar_SetStyleEx($hWnd, $iStyle, $bStyle)
  1463. Local $iN = _GUICtrlToolbar_GetStyle($hWnd)
  1464. If $bStyle Then
  1465. $iN = BitOR($iN, $iStyle)
  1466. Else
  1467. $iN = BitAND($iN, BitNOT($iStyle))
  1468. EndIf
  1469. Return _GUICtrlToolbar_SetStyle($hWnd, $iN)
  1470. EndFunc ;==>__GUICtrlToolbar_SetStyleEx
  1471. ; #FUNCTION# ====================================================================================================================
  1472. ; Author ........: Paul Campbell (PaulIA)
  1473. ; Modified.......:
  1474. ; ===============================================================================================================================
  1475. Func _GUICtrlToolbar_SetStyleFlat($hWnd, $bState)
  1476. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_FLAT, $bState)
  1477. EndFunc ;==>_GUICtrlToolbar_SetStyleFlat
  1478. ; #FUNCTION# ====================================================================================================================
  1479. ; Author ........: Paul Campbell (PaulIA)
  1480. ; Modified.......:
  1481. ; ===============================================================================================================================
  1482. Func _GUICtrlToolbar_SetStyleList($hWnd, $bState)
  1483. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_LIST, $bState)
  1484. EndFunc ;==>_GUICtrlToolbar_SetStyleList
  1485. ; #FUNCTION# ====================================================================================================================
  1486. ; Author ........: Paul Campbell (PaulIA)
  1487. ; Modified.......:
  1488. ; ===============================================================================================================================
  1489. Func _GUICtrlToolbar_SetStyleRegisterDrop($hWnd, $bState)
  1490. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_REGISTERDROP, $bState)
  1491. EndFunc ;==>_GUICtrlToolbar_SetStyleRegisterDrop
  1492. ; #FUNCTION# ====================================================================================================================
  1493. ; Author ........: Paul Campbell (PaulIA)
  1494. ; Modified.......:
  1495. ; ===============================================================================================================================
  1496. Func _GUICtrlToolbar_SetStyleToolTips($hWnd, $bState)
  1497. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_TOOLTIPS, $bState)
  1498. EndFunc ;==>_GUICtrlToolbar_SetStyleToolTips
  1499. ; #FUNCTION# ====================================================================================================================
  1500. ; Author ........: Paul Campbell (PaulIA)
  1501. ; Modified.......:
  1502. ; ===============================================================================================================================
  1503. Func _GUICtrlToolbar_SetStyleTransparent($hWnd, $bState)
  1504. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_TRANSPARENT, $bState)
  1505. EndFunc ;==>_GUICtrlToolbar_SetStyleTransparent
  1506. ; #FUNCTION# ====================================================================================================================
  1507. ; Author ........: Paul Campbell (PaulIA)
  1508. ; Modified.......:
  1509. ; ===============================================================================================================================
  1510. Func _GUICtrlToolbar_SetStyleWrapable($hWnd, $bState)
  1511. Return __GUICtrlToolbar_SetStyleEx($hWnd, $TBSTYLE_WRAPABLE, $bState)
  1512. EndFunc ;==>_GUICtrlToolbar_SetStyleWrapable
  1513. ; #FUNCTION# ====================================================================================================================
  1514. ; Author ........: Paul Campbell (PaulIA)
  1515. ; Modified.......: Gary Frost
  1516. ; ===============================================================================================================================
  1517. Func _GUICtrlToolbar_SetToolTips($hWnd, $hToolTip)
  1518. _SendMessage($hWnd, $TB_SETTOOLTIPS, $hToolTip, 0, 0, "hwnd")
  1519. EndFunc ;==>_GUICtrlToolbar_SetToolTips
  1520. ; #FUNCTION# ====================================================================================================================
  1521. ; Author ........: Paul Campbell (PaulIA)
  1522. ; Modified.......:
  1523. ; ===============================================================================================================================
  1524. Func _GUICtrlToolbar_SetUnicodeFormat($hWnd, $bUnicode = False)
  1525. Return _SendMessage($hWnd, $TB_SETUNICODEFORMAT, $bUnicode)
  1526. EndFunc ;==>_GUICtrlToolbar_SetUnicodeFormat
  1527. ; #FUNCTION# ====================================================================================================================
  1528. ; Author ........: Paul Campbell (PaulIA)
  1529. ; Modified.......: Gary Frost
  1530. ; ===============================================================================================================================
  1531. Func _GUICtrlToolbar_SetWindowTheme($hWnd, $sTheme)
  1532. Local $tTheme = _WinAPI_MultiByteToWideChar($sTheme)
  1533. If _WinAPI_InProcess($hWnd, $__g_hTBLastWnd) Then
  1534. _SendMessage($hWnd, $TB_SETWINDOWTHEME, 0, $tTheme, 0, "wparam", "struct*")
  1535. Else
  1536. Local $iTheme = DllStructGetSize($tTheme)
  1537. Local $tMemMap
  1538. Local $pMemory = _MemInit($hWnd, $iTheme, $tMemMap)
  1539. _MemWrite($tMemMap, $tTheme, $pMemory, $iTheme)
  1540. _SendMessage($hWnd, $TB_SETWINDOWTHEME, 0, $pMemory, 0, "wparam", "ptr")
  1541. _MemFree($tMemMap)
  1542. EndIf
  1543. EndFunc ;==>_GUICtrlToolbar_SetWindowTheme