123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892 |
- #include-once
- #include "Memory.au3"
- #include "SendMessage.au3"
- #include "StructureConstants.au3"
- #include "ToolTipConstants.au3"
- #include "WinAPIConv.au3"
- #include "WinAPISysInternals.au3"
- ; #INDEX# =======================================================================================================================
- ; Title .........: ToolTip
- ; AutoIt Version : 3.3.14.5
- ; Description ...: Functions that assist with ToolTip control management.
- ; ToolTip controls are pop-up windows that display text. The text usually describes a tool, which is either a
- ; window, such as a child window or control, or an application-defined rectangular area within a window's client
- ; area.
- ; Author(s) .....: Paul Campbell (PaulIA)
- ; ===============================================================================================================================
- ; #VARIABLES# ===================================================================================================================
- Global $__g_hTTLastWnd
- ; ===============================================================================================================================
- ; #CONSTANTS# ===================================================================================================================
- Global Const $_TOOLTIPCONSTANTS_ClassName = "tooltips_class32"
- Global Const $_TT_ghTTDefaultStyle = BitOR($TTS_ALWAYSTIP, $TTS_NOPREFIX)
- ; ===============================================================================================================================
- ; #CURRENT# =====================================================================================================================
- ; _GUIToolTip_Activate
- ; _GUIToolTip_AddTool
- ; _GUIToolTip_AdjustRect
- ; _GUIToolTip_BitsToTTF
- ; _GUIToolTip_Create
- ; _GUIToolTip_Deactivate
- ; _GUIToolTip_DelTool
- ; _GUIToolTip_Destroy
- ; _GUIToolTip_EnumTools
- ; _GUIToolTip_GetBubbleHeight
- ; _GUIToolTip_GetBubbleSize
- ; _GUIToolTip_GetBubbleWidth
- ; _GUIToolTip_GetCurrentTool
- ; _GUIToolTip_GetDelayTime
- ; _GUIToolTip_GetMargin
- ; _GUIToolTip_GetMarginEx
- ; _GUIToolTip_GetMaxTipWidth
- ; _GUIToolTip_GetText
- ; _GUIToolTip_GetTipBkColor
- ; _GUIToolTip_GetTipTextColor
- ; _GUIToolTip_GetTitleBitMap
- ; _GUIToolTip_GetTitleText
- ; _GUIToolTip_GetToolCount
- ; _GUIToolTip_GetToolInfo
- ; _GUIToolTip_HitTest
- ; _GUIToolTip_NewToolRect
- ; _GUIToolTip_Pop
- ; _GUIToolTip_PopUp
- ; _GUIToolTip_SetDelayTime
- ; _GUIToolTip_SetMargin
- ; _GUIToolTip_SetMaxTipWidth
- ; _GUIToolTip_SetTipBkColor
- ; _GUIToolTip_SetTipTextColor
- ; _GUIToolTip_SetTitle
- ; _GUIToolTip_SetToolInfo
- ; _GUIToolTip_SetWindowTheme
- ; _GUIToolTip_ToolExists
- ; _GUIToolTip_ToolToArray
- ; _GUIToolTip_TrackActivate
- ; _GUIToolTip_TrackPosition
- ; _GUIToolTip_Update
- ; _GUIToolTip_UpdateTipText
- ; ===============================================================================================================================
- ; #NEW_FUNCTIONS# ===============================================================================================================
- ; _GUIToolTip_Deactivate
- ; ===============================================================================================================================
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; $tagNMTTDISPINFO
- ; $tagTOOLINFO
- ; $tagTTGETTITLE
- ; $tagTTHITTESTINFO
- ; ===============================================================================================================================
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagNMTTDISPINFO
- ; Description ...: Contains information used in handling the $TTN_GETDISPINFOW notification message
- ; Fields ........: $tagNMHDR - Contains information about a notification message
- ; pText - Pointer to a string that will be displayed as the ToolTip text. If Instance specifies an instance
- ; +handle, this member must be the identifier of a string resource.
- ; aText - Buffer that receives the ToolTip text. An application can copy the text to this buffer instead of
- ; +specifying a string address or string resource.
- ; Instance - Handle to the instance that contains a string resource to be used as the ToolTip text. If pText is
- ; +the address of the ToolTip text string, this member must be 0.
- ; Flags - Flags that indicates how to interpret the IDFrom member:
- ; |$TTF_IDISHWND - If this flag is set, IDFrom is the tool's handle. Otherwise, it is the tool's identifier.
- ; |$TTF_RTLREADING - Specifies right to left text
- ; |$TTF_DI_SETITEM - If you add this flag to Flags while processing the notification, the ToolTip control will
- ; +retain the supplied information and not request it again.
- ; Param - Application-defined data associated with the tool
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......: You need to point the pText array to your own private buffer when the text used in the ToolTip text exceeds 80
- ; +characters in length. The system automatically strips the accelerator from all strings passed to a ToolTip
- ; control, unless the control has the $TTS_NOPREFIX style.
- ; ===============================================================================================================================
- Global Const $tagNMTTDISPINFO = $tagNMHDR & ";ptr pText;wchar aText[80];ptr Instance;uint Flags;lparam Param"
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTOOLINFO
- ; Description ...: Contains information about a tool in a ToolTip contr
- ; Fields ........: Size - Size of this structure, in bytes
- ; Flags - Flags that control the ToolTip display. This member can be a combination of the following values:
- ; |$TTF_ABSOLUTE - Positions the ToolTip at the same coordinates provided by $TTM_TRACKPOSITION
- ; |$TTF_CENTERTIP - Centers the ToolTip below the tool specified by the ID member
- ; |$TTF_IDISHWND - Indicates that the ID member is the window handle to the tool
- ; |$TTF_PARSELINKS - Indicates that links in the tooltip text should be parsed
- ; |$TTF_RTLREADING - Indicates that the ToolTip text will be displayed in the opposite direction
- ; |$TTF_SUBCLASS - Indicates that the ToolTip control should subclass the tool's window to intercept messages
- ; |$TTF_TRACK - Positions the ToolTip next to the tool to which it corresponds
- ; |$TTF_TRANSPARENT - Causes the ToolTip control to forward mouse event messages to the parent window
- ; hWnd - Handle to the window that contains the tool
- ; ID - Application-defined identifier of the tool
- ; Left - X position of upper left corner of bounding rectangle
- ; Top - Y position of upper left corner of bounding rectangle
- ; Right - X position of lower right corner of bounding rectangle
- ; Bottom - Y position of lower right corner of bounding rectangle
- ; hInst - Handle to the instance that contains the string resource for the too
- ; Text - Pointer to the buffer that contains the text for the tool
- ; Param - A 32-bit application-defined value that is associated with the tool
- ; Reserved - Reserved
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTOOLINFO = "uint Size;uint Flags;hwnd hWnd;uint_ptr ID;" & $tagRECT & ";handle hInst;ptr Text;lparam Param;ptr Reserved"
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTTGETTITLE
- ; Description ...: Provides information about the title of a tooltip control
- ; Fields ........: Size - Size of this structure, in bytes
- ; Bitmap - The tooltip icon
- ; TitleMax - Specifies the number of characters in the title
- ; Title - Pointer to a wide character string that contains the title
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTTGETTITLE = "dword Size;uint Bitmap;uint TitleMax;ptr Title"
- ; #INTERNAL_USE_ONLY# ===========================================================================================================
- ; Name...........: $tagTTHITTESTINFO
- ; Description ...: Contains information that a ToolTip control uses to determine whether a point is in the bounding rectangle of the specified tool
- ; Fields ........: Tool - Handle to the tool or window with the specified tool
- ; X - X position to be tested, in client coordinates
- ; Y - Y position to be tested, in client coordinates
- ; Size - Size of a TOOLINFO structure
- ; Flags - Flags that control the ToolTip display. This member can be a combination of the following values:
- ; |$TTF_ABSOLUTE - Positions the ToolTip at the same coordinates provided by $TTM_TRACKPOSITION
- ; |$TTF_CENTERTIP - Centers the ToolTip below the tool specified by the ID member
- ; |$TTF_IDISHWND - Indicates that the ID member is the window handle to the tool
- ; |$TTF_PARSELINKS - Indicates that links in the tooltip text should be parsed
- ; |$TTF_RTLREADING - Indicates that the ToolTip text will be displayed in the opposite direction
- ; |$TTF_SUBCLASS - Indicates that the ToolTip control should subclass the tool's window to intercept messages
- ; |$TTF_TRACK - Positions the ToolTip next to the tool to which it corresponds
- ; |$TTF_TRANSPARENT - Causes the ToolTip control to forward mouse event messages to the parent window
- ; hWnd - Handle to the window that contains the tool
- ; ID - Application-defined identifier of the tool
- ; Left - X position of upper left corner of bounding rectangle
- ; Top - Y position of upper left corner of bounding rectangle
- ; Right - X position of lower right corner of bounding rectangle
- ; Bottom - Y position of lower right corner of bounding rectangle
- ; hInst - Handle to the instance that contains the string resource for the too
- ; Text - Pointer to the buffer that contains the text for the tool
- ; Param - A 32-bit application-defined value that is associated with the tool
- ; Reserved - Reserved
- ; Author ........: Paul Campbell (PaulIA)
- ; Remarks .......:
- ; ===============================================================================================================================
- Global Const $tagTTHITTESTINFO = "hwnd Tool;" & $tagPOINT & ";" & $tagTOOLINFO
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_Activate($hWnd)
- _SendMessage($hWnd, $TTM_ACTIVATE, True)
- EndFunc ;==>_GUIToolTip_Activate
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_AddTool($hTool, $hWnd, $sText, $iID = 0, $iLeft = 0, $iTop = 0, $iRight = 0, $iBottom = 0, $iFlags = Default, $iParam = 0)
- Local $iBuffer, $tBuffer, $pBuffer
- If $iFlags = Default Then $iFlags = BitOR($TTF_SUBCLASS, $TTF_IDISHWND)
- If $sText <> -1 Then
- $iBuffer = StringLen($sText) + 1
- $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- $pBuffer = DllStructGetPtr($tBuffer)
- DllStructSetData($tBuffer, "Text", $sText)
- Else
- $iBuffer = 0
- $pBuffer = -1 ; LPSTR_TEXTCALLBACK
- EndIf
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "Flags", $iFlags)
- DllStructSetData($tToolInfo, "hWnd", $hWnd)
- DllStructSetData($tToolInfo, "ID", $iID)
- DllStructSetData($tToolInfo, "Left", $iLeft)
- DllStructSetData($tToolInfo, "Top", $iTop)
- DllStructSetData($tToolInfo, "Right", $iRight)
- DllStructSetData($tToolInfo, "Bottom", $iBottom)
- DllStructSetData($tToolInfo, "Param", $iParam)
- Local $iRet
- If _WinAPI_InProcess($hTool, $__g_hTTLastWnd) Then
- DllStructSetData($tToolInfo, "Text", $pBuffer)
- $iRet = _SendMessage($hTool, $TTM_ADDTOOLW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hTool, $iToolInfo + $iBuffer, $tMemMap)
- If $sText <> -1 Then
- Local $pText = $pMemory + $iToolInfo
- DllStructSetData($tToolInfo, "Text", $pText)
- _MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
- Else
- DllStructSetData($tToolInfo, "Text", -1) ; LPSTR_TEXTCALLBACK
- EndIf
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- $iRet = _SendMessage($hTool, $TTM_ADDTOOLW, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet <> 0
- EndFunc ;==>_GUIToolTip_AddTool
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_AdjustRect($hWnd, ByRef $tRECT, $bLarger = True)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_ADJUSTRECT, $bLarger, $tRECT, 0, "wparam", "struct*")
- Else
- Local $iRect = DllStructGetSize($tRECT)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
- _MemWrite($tMemMap, $tRECT)
- _SendMessage($hWnd, $TTM_ADJUSTRECT, $bLarger, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
- _MemFree($tMemMap)
- EndIf
- Return $tRECT
- EndFunc ;==>_GUIToolTip_AdjustRect
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_BitsToTTF($iFlags)
- Local $iN = ""
- If BitAND($iFlags, $TTF_IDISHWND) <> 0 Then $iN &= "TTF_IDISHWND,"
- If BitAND($iFlags, $TTF_CENTERTIP) <> 0 Then $iN &= "TTF_CENTERTIP,"
- If BitAND($iFlags, $TTF_RTLREADING) <> 0 Then $iN &= "TTF_RTLREADING,"
- If BitAND($iFlags, $TTF_SUBCLASS) <> 0 Then $iN &= "TTF_SUBCLASS,"
- If BitAND($iFlags, $TTF_TRACK) <> 0 Then $iN &= "TTF_TRACK,"
- If BitAND($iFlags, $TTF_ABSOLUTE) <> 0 Then $iN &= "TTF_ABSOLUTE,"
- If BitAND($iFlags, $TTF_TRANSPARENT) <> 0 Then $iN &= "TTF_TRANSPARENT,"
- If BitAND($iFlags, $TTF_PARSELINKS) <> 0 Then $iN &= "TTF_PARSELINKS,"
- Return StringTrimRight($iN, 1)
- EndFunc ;==>_GUIToolTip_BitsToTTF
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Gary Frost
- ; ===============================================================================================================================
- Func _GUIToolTip_Create($hWnd, $iStyle = $_TT_ghTTDefaultStyle)
- Return _WinAPI_CreateWindowEx(0, $_TOOLTIPCONSTANTS_ClassName, "", $iStyle, 0, 0, 0, 0, $hWnd)
- EndFunc ;==>_GUIToolTip_Create
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Bob Marotte (BrewManNH)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_Deactivate($hWnd)
- _SendMessage($hWnd, $TTM_ACTIVATE, False)
- EndFunc ;==>_GUIToolTip_Deactivate
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_DelTool($hWnd, $hTool, $iID = 0)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "ID", $iID)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_DELTOOLW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo)
- _SendMessage($hWnd, $TTM_DELTOOLW, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_DelTool
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Gary Frost
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_Destroy(ByRef $hWnd)
- If Not _WinAPI_IsClassName($hWnd, $_TOOLTIPCONSTANTS_ClassName) Then Return SetError(2, 2, False)
- Local $iDestroyed = 0
- If IsHWnd($hWnd) Then
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $iDestroyed = _WinAPI_DestroyWindow($hWnd)
- Else
- ; Not Allowed to Destroy Other Applications Control(s)
- Return SetError(1, 1, False)
- EndIf
- EndIf
- If $iDestroyed Then $hWnd = 0
- Return $iDestroyed <> 0
- EndFunc ;==>_GUIToolTip_Destroy
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_EnumTools($hWnd, $iIndex)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- Local $bResult
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $bResult = _SendMessage($hWnd, $TTM_ENUMTOOLSW, $iIndex, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- $bResult = _SendMessage($hWnd, $TTM_ENUMTOOLSW, $iIndex, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tToolInfo, $iToolInfo)
- _MemFree($tMemMap)
- EndIf
- Return _GUIToolTip_ToolToArray($hWnd, $tToolInfo, $bResult = True)
- EndFunc ;==>_GUIToolTip_EnumTools
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_GetBubbleHeight($hWnd, $hTool, $iID, $iFlags = Default)
- If $iFlags = Default Then $iFlags = BitOR($TTF_IDISHWND, $TTF_SUBCLASS)
- Return _WinAPI_HiWord(_GUIToolTip_GetBubbleSize($hWnd, $hTool, $iID, $iFlags))
- EndFunc ;==>_GUIToolTip_GetBubbleHeight
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_GetBubbleSize($hWnd, $hTool, $iID, $iFlags = Default)
- If $iFlags = Default Then $iFlags = BitOR($TTF_IDISHWND, $TTF_SUBCLASS)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- DllStructSetData($tToolInfo, "Flags", $iFlags)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $iRet = _SendMessage($hWnd, $TTM_GETBUBBLESIZE, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo)
- $iRet = _SendMessage($hWnd, $TTM_GETBUBBLESIZE, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet
- EndFunc ;==>_GUIToolTip_GetBubbleSize
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_GetBubbleWidth($hWnd, $hTool, $iID, $iFlags = Default)
- If $iFlags = Default Then $iFlags = BitOR($TTF_IDISHWND, $TTF_SUBCLASS)
- Return _WinAPI_LoWord(_GUIToolTip_GetBubbleSize($hWnd, $hTool, $iID, $iFlags))
- EndFunc ;==>_GUIToolTip_GetBubbleWidth
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetCurrentTool($hWnd)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- Local $bResult
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $bResult = _SendMessage($hWnd, $TTM_GETCURRENTTOOLW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- $bResult = _SendMessage($hWnd, $TTM_GETCURRENTTOOLW, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tToolInfo, $iToolInfo)
- _MemFree($tMemMap)
- EndIf
- Return _GUIToolTip_ToolToArray($hWnd, $tToolInfo, $bResult = True)
- EndFunc ;==>_GUIToolTip_GetCurrentTool
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......: Bob Marotte (BrewManNH)
- ; ===============================================================================================================================
- Func _GUIToolTip_GetDelayTime($hWnd, $iDuration)
- Return _SendMessage($hWnd, $TTM_GETDELAYTIME, $iDuration)
- EndFunc ;==>_GUIToolTip_GetDelayTime
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetMargin($hWnd)
- Local $aMargin[4]
- Local $tRECT = _GUIToolTip_GetMarginEx($hWnd)
- $aMargin[0] = DllStructGetData($tRECT, "Left")
- $aMargin[1] = DllStructGetData($tRECT, "Top")
- $aMargin[2] = DllStructGetData($tRECT, "Right")
- $aMargin[3] = DllStructGetData($tRECT, "Bottom")
- Return $aMargin
- EndFunc ;==>_GUIToolTip_GetMargin
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetMarginEx($hWnd)
- Local $tRECT = DllStructCreate($tagRECT)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_GETMARGIN, 0, $tRECT, 0, "wparam", "struct*")
- Else
- Local $iRect = DllStructGetSize($tRECT)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
- _SendMessage($hWnd, $TTM_GETMARGIN, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tRECT, $iRect)
- _MemFree($tMemMap)
- EndIf
- Return $tRECT
- EndFunc ;==>_GUIToolTip_GetMarginEx
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetMaxTipWidth($hWnd)
- Return _SendMessage($hWnd, $TTM_GETMAXTIPWIDTH)
- EndFunc ;==>_GUIToolTip_GetMaxTipWidth
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetText($hWnd, $hTool, $iID)
- Local $tBuffer = DllStructCreate("wchar Text[4096]")
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- DllStructSetData($tToolInfo, "Text", DllStructGetPtr($tBuffer))
- _SendMessage($hWnd, $TTM_GETTEXTW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo + 4096, $tMemMap)
- Local $pText = $pMemory + $iToolInfo
- DllStructSetData($tToolInfo, "Text", $pText)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- _SendMessage($hWnd, $TTM_GETTEXTW, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pText, $tBuffer, 81)
- _MemFree($tMemMap)
- EndIf
- Return DllStructGetData($tBuffer, "Text")
- EndFunc ;==>_GUIToolTip_GetText
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetTipBkColor($hWnd)
- Return _SendMessage($hWnd, $TTM_GETTIPBKCOLOR)
- EndFunc ;==>_GUIToolTip_GetTipBkColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetTipTextColor($hWnd)
- Return _SendMessage($hWnd, $TTM_GETTIPTEXTCOLOR)
- EndFunc ;==>_GUIToolTip_GetTipTextColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetTitleBitMap($hWnd)
- Local $tBuffer = DllStructCreate("wchar Text[4096]")
- Local $tTitle = DllStructCreate($tagTTGETTITLE)
- Local $iTitle = DllStructGetSize($tTitle)
- DllStructSetData($tTitle, "TitleMax", DllStructGetSize($tBuffer))
- DllStructSetData($tTitle, "Size", $iTitle)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- DllStructSetData($tTitle, "Title", DllStructGetPtr($tBuffer))
- _SendMessage($hWnd, $TTM_GETTITLE, 0, $tTitle, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iTitle + 4096, $tMemMap)
- Local $pText = $pMemory + $iTitle
- DllStructSetData($tTitle, "Title", $pText)
- _MemWrite($tMemMap, $tTitle, $pMemory, $iTitle)
- _SendMessage($hWnd, $TTM_GETTITLE, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pText, $tBuffer, 4096)
- _MemFree($tMemMap)
- EndIf
- Return DllStructGetData($tTitle, "Bitmap")
- EndFunc ;==>_GUIToolTip_GetTitleBitMap
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetTitleText($hWnd)
- Local $tBuffer = DllStructCreate("wchar Text[4096]")
- Local $tTitle = DllStructCreate($tagTTGETTITLE)
- Local $iTitle = DllStructGetSize($tTitle)
- DllStructSetData($tTitle, "TitleMax", DllStructGetSize($tBuffer))
- DllStructSetData($tTitle, "Size", $iTitle)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- DllStructSetData($tTitle, "Title", DllStructGetPtr($tBuffer))
- _SendMessage($hWnd, $TTM_GETTITLE, 0, $tTitle, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iTitle + 4096, $tMemMap)
- Local $pText = $pMemory + $iTitle
- DllStructSetData($tTitle, "Title", $pText)
- _MemWrite($tMemMap, $tTitle, $pMemory, $iTitle)
- _SendMessage($hWnd, $TTM_GETTITLE, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pText, $tBuffer, 4096)
- _MemFree($tMemMap)
- EndIf
- Return DllStructGetData($tBuffer, "Text")
- EndFunc ;==>_GUIToolTip_GetTitleText
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetToolCount($hWnd)
- Return _SendMessage($hWnd, $TTM_GETTOOLCOUNT)
- EndFunc ;==>_GUIToolTip_GetToolCount
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_GetToolInfo($hWnd, $hTool, $iID)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- Local $bResult
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $bResult = _SendMessage($hWnd, $TTM_GETTOOLINFOW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- $bResult = _SendMessage($hWnd, $TTM_GETTOOLINFOW, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tToolInfo, $iToolInfo)
- _MemFree($tMemMap)
- EndIf
- Return _GUIToolTip_ToolToArray($hWnd, $tToolInfo, $bResult = True)
- EndFunc ;==>_GUIToolTip_GetToolInfo
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_HitTest($hWnd, $hTool, $iX, $iY)
- Local $tHitTest = DllStructCreate($tagTTHITTESTINFO)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tHitTest, "Tool", $hTool)
- DllStructSetData($tHitTest, "X", $iX)
- DllStructSetData($tHitTest, "Y", $iY)
- DllStructSetData($tHitTest, "Size", $iToolInfo)
- Local $bResult
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $bResult = _SendMessage($hWnd, $TTM_HITTESTW, 0, $tHitTest, 0, "wparam", "struct*")
- Else
- Local $iHitTest = DllStructGetSize($tHitTest)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iHitTest, $tMemMap)
- _MemWrite($tMemMap, $tHitTest, $pMemory, $iHitTest)
- $bResult = _SendMessage($hWnd, $TTM_HITTESTW, 0, $pMemory, 0, "wparam", "ptr")
- _MemRead($tMemMap, $pMemory, $tHitTest, $iHitTest)
- _MemFree($tMemMap)
- EndIf
- DllStructSetData($tToolInfo, "Size", DllStructGetData($tHitTest, "Size"))
- DllStructSetData($tToolInfo, "Flags", DllStructGetData($tHitTest, "Flags"))
- DllStructSetData($tToolInfo, "hWnd", DllStructGetData($tHitTest, "hWnd"))
- DllStructSetData($tToolInfo, "ID", DllStructGetData($tHitTest, "ID"))
- DllStructSetData($tToolInfo, "Left", DllStructGetData($tHitTest, "Left"))
- DllStructSetData($tToolInfo, "Top", DllStructGetData($tHitTest, "Top"))
- DllStructSetData($tToolInfo, "Right", DllStructGetData($tHitTest, "Right"))
- DllStructSetData($tToolInfo, "Bottom", DllStructGetData($tHitTest, "Bottom"))
- DllStructSetData($tToolInfo, "hInst", DllStructGetData($tHitTest, "hInst"))
- DllStructSetData($tToolInfo, "Param", DllStructGetData($tHitTest, "Param"))
- Return _GUIToolTip_ToolToArray($hWnd, $tToolInfo, $bResult = True)
- EndFunc ;==>_GUIToolTip_HitTest
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_NewToolRect($hWnd, $hTool, $iID, $iLeft, $iTop, $iRight, $iBottom)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hwnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- DllStructSetData($tToolInfo, "Left", $iLeft)
- DllStructSetData($tToolInfo, "Top", $iTop)
- DllStructSetData($tToolInfo, "Right", $iRight)
- DllStructSetData($tToolInfo, "Bottom", $iBottom)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_NEWTOOLRECTW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo)
- _SendMessage($hWnd, $TTM_NEWTOOLRECTW, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_NewToolRect
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_Pop($hWnd)
- _SendMessage($hWnd, $TTM_POP)
- EndFunc ;==>_GUIToolTip_Pop
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_PopUp($hWnd)
- _SendMessage($hWnd, $TTM_POPUP)
- EndFunc ;==>_GUIToolTip_PopUp
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetDelayTime($hWnd, $iDuration, $iTime)
- _SendMessage($hWnd, $TTM_SETDELAYTIME, $iDuration, $iTime)
- EndFunc ;==>_GUIToolTip_SetDelayTime
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetMargin($hWnd, $iLeft, $iTop, $iRight, $iBottom)
- Local $tRECT = DllStructCreate($tagRECT)
- DllStructSetData($tRECT, "Left", $iLeft)
- DllStructSetData($tRECT, "Top", $iTop)
- DllStructSetData($tRECT, "Right", $iRight)
- DllStructSetData($tRECT, "Bottom", $iBottom)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_SETMARGIN, 0, $tRECT, 0, "wparam", "struct*")
- Else
- Local $iRect = DllStructGetSize($tRECT)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iRect, $tMemMap)
- _MemWrite($tMemMap, $tRECT)
- _SendMessage($hWnd, $TTM_SETMARGIN, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_SetMargin
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetMaxTipWidth($hWnd, $iWidth)
- Return _SendMessage($hWnd, $TTM_SETMAXTIPWIDTH, 0, $iWidth)
- EndFunc ;==>_GUIToolTip_SetMaxTipWidth
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetTipBkColor($hWnd, $iColor)
- _SendMessage($hWnd, $TTM_SETTIPBKCOLOR, $iColor)
- EndFunc ;==>_GUIToolTip_SetTipBkColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetTipTextColor($hWnd, $iColor)
- _SendMessage($hWnd, $TTM_SETTIPTEXTCOLOR, $iColor)
- EndFunc ;==>_GUIToolTip_SetTipTextColor
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetTitle($hWnd, $sTitle, $iIcon = 0)
- Local $iBuffer = StringLen($sTitle) + 1
- Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- DllStructSetData($tBuffer, "Text", $sTitle)
- Local $iRet
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- $iRet = _SendMessage($hWnd, $TTM_SETTITLEW, $iIcon, $tBuffer, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iBuffer, $tMemMap)
- _MemWrite($tMemMap, $tBuffer)
- $iRet = _SendMessage($hWnd, $TTM_SETTITLEW, $iIcon, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- Return $iRet <> 0
- EndFunc ;==>_GUIToolTip_SetTitle
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetToolInfo($hWnd, $sText, $iID = 0, $iLeft = 0, $iTop = 0, $iRight = 0, $iBottom = 0, $iFlags = Default, $iParam = 0)
- If $iFlags = Default Then $iFlags = BitOR($TTF_SUBCLASS, $TTF_IDISHWND)
- Local $tBuffer = DllStructCreate("wchar Text[4096]")
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tBuffer, "Text", $sText)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "Flags", $iFlags)
- DllStructSetData($tToolInfo, "hWnd", $hWnd)
- DllStructSetData($tToolInfo, "ID", $iID)
- DllStructSetData($tToolInfo, "Left", $iLeft)
- DllStructSetData($tToolInfo, "Top", $iTop)
- DllStructSetData($tToolInfo, "Right", $iRight)
- DllStructSetData($tToolInfo, "Bottom", $iBottom)
- DllStructSetData($tToolInfo, "Param", $iParam)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- DllStructSetData($tToolInfo, "Text", DllStructGetPtr($tBuffer))
- _SendMessage($hWnd, $TTM_SETTOOLINFOW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo + 4096, $tMemMap)
- Local $pText = $pMemory + $iToolInfo
- DllStructSetData($tToolInfo, "Text", $pText)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- _MemWrite($tMemMap, $pText, $tBuffer, 4096)
- _SendMessage($hWnd, $TTM_SETTOOLINFOW, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_SetToolInfo
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_SetWindowTheme($hWnd, $sStyle)
- Local $tBuffer = _WinAPI_MultiByteToWideChar($sStyle)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_SETWINDOWTHEME, 0, $tBuffer, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, 4096, $tMemMap)
- _MemWrite($tMemMap, $tBuffer)
- _SendMessage($hWnd, $TTM_SETWINDOWTHEME, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_SetWindowTheme
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_ToolExists($hWnd)
- Return _SendMessage($hWnd, $TTM_GETCURRENTTOOL) <> 0
- EndFunc ;==>_GUIToolTip_ToolExists
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_ToolToArray($hWnd, ByRef $tToolInfo, $iError)
- Local $aTool[10]
- $aTool[0] = DllStructGetData($tToolInfo, "Flags")
- $aTool[1] = DllStructGetData($tToolInfo, "hWnd")
- $aTool[2] = DllStructGetData($tToolInfo, "ID")
- $aTool[3] = DllStructGetData($tToolInfo, "Left")
- $aTool[4] = DllStructGetData($tToolInfo, "Top")
- $aTool[5] = DllStructGetData($tToolInfo, "Right")
- $aTool[6] = DllStructGetData($tToolInfo, "Bottom")
- $aTool[7] = DllStructGetData($tToolInfo, "hInst")
- $aTool[8] = _GUIToolTip_GetText($hWnd, $aTool[1], $aTool[2])
- $aTool[9] = DllStructGetData($tToolInfo, "Param")
- Return SetError($iError, 0, $aTool)
- EndFunc ;==>_GUIToolTip_ToolToArray
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_TrackActivate($hWnd, $bActivate = True, $hTool = 0, $iID = 0)
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- _SendMessage($hWnd, $TTM_TRACKACTIVATE, $bActivate, $tToolInfo, 0, "wparam", "struct*")
- Else
- $iToolInfo = DllStructGetSize($tToolInfo)
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo, $tMemMap)
- _MemWrite($tMemMap, $tToolInfo)
- _SendMessage($hWnd, $TTM_TRACKACTIVATE, $bActivate, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_TrackActivate
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_TrackPosition($hWnd, $iX, $iY)
- _SendMessage($hWnd, $TTM_TRACKPOSITION, 0, _WinAPI_MakeLong($iX, $iY))
- EndFunc ;==>_GUIToolTip_TrackPosition
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_Update($hWnd)
- _SendMessage($hWnd, $TTM_UPDATE)
- EndFunc ;==>_GUIToolTip_Update
- ; #FUNCTION# ====================================================================================================================
- ; Author ........: Paul Campbell (PaulIA)
- ; Modified.......:
- ; ===============================================================================================================================
- Func _GUIToolTip_UpdateTipText($hWnd, $hTool, $iID, $sText)
- Local $iBuffer = StringLen($sText) + 1
- Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
- $iBuffer *= 2
- Local $tToolInfo = DllStructCreate($tagTOOLINFO)
- Local $iToolInfo = DllStructGetSize($tToolInfo)
- DllStructSetData($tBuffer, "Text", $sText)
- DllStructSetData($tToolInfo, "Size", $iToolInfo)
- DllStructSetData($tToolInfo, "hWnd", $hTool)
- DllStructSetData($tToolInfo, "ID", $iID)
- If _WinAPI_InProcess($hWnd, $__g_hTTLastWnd) Then
- DllStructSetData($tToolInfo, "Text", DllStructGetPtr($tBuffer))
- _SendMessage($hWnd, $TTM_UPDATETIPTEXTW, 0, $tToolInfo, 0, "wparam", "struct*")
- Else
- Local $tMemMap
- Local $pMemory = _MemInit($hWnd, $iToolInfo + $iBuffer, $tMemMap)
- Local $pText = $pMemory + $iToolInfo
- DllStructSetData($tToolInfo, "Text", $pText)
- _MemWrite($tMemMap, $tToolInfo, $pMemory, $iToolInfo)
- _MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
- _SendMessage($hWnd, $TTM_UPDATETIPTEXTW, 0, $pMemory, 0, "wparam", "ptr")
- _MemFree($tMemMap)
- EndIf
- EndFunc ;==>_GUIToolTip_UpdateTipText
|