Jump to content
Sign in to follow this  
power1power1

Tooltip with color background

Recommended Posts

power1power1

Hi, It is a while that I have been using Tooltip() for my code. Then, I needed to change the color of the balloon background. So, I thought I could use _GUIToolTip_Create() but my script does not have any GUI and the code below doesn't work. Any suggestion is appreciated. Thanks!
 

#include <GUIToolTip.au3>
$hToolTip = _GUIToolTip_Create(0)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", $hToolTip, "wstr", 0, "wstr", 0)
_GUIToolTip_SetTipBkColor($hToolTip, 0x395A00)
_GUIToolTip_SetTipTextColor($hToolTip, 0x1EBFFF)
_GUIToolTip_AddTool($hToolTip, 0, "This is the ToolTip text")
GUISetState(@SW_SHOW)
sleep(5000)
Exit

Share this post


Link to post
Share on other sites
LongBowNZ

This works for me.

#include <GUIConstantsEx.au3>
#include <GUIToolTip.au3>

Example()

Func Example()
    Local $msg

    $hGUI = GUICreate("My GUI control tip") ; will create a dialog box that when displayed is centered

    $iLabel = GUICtrlCreateLabel("my label", 10, 20)
    $hLabel = GUICtrlGetHandle($iLabel)
    $hToolTip = _GUIToolTip_Create(0)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", $hToolTip, "wstr", 0, "wstr", 0)
    _GUIToolTip_SetTipBkColor($hToolTip, 0x1EBFFF)
    _GUIToolTip_AddTool($hToolTip, 0, "Tooltip text", $hLabel)

    GUISetState(@SW_SHOW)

    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop

        EndSwitch
    WEnd
    _GUIToolTip_Destroy($hToolTip)
    GUIDelete($hGUI)
EndFunc   ;==>Example

Share this post


Link to post
Share on other sites
power1power1

Yes, thanks. You see, you have a GUI in your example and the mouse pointer has to be on top of a GUICtrl to show the tool tip. My script doesn't have a GUI. I just need to show a tool tip wherever the mouse pointer is (same behaviour as Tooltip()).

Share this post


Link to post
Share on other sites
BrewManNH

Look at the functions _GUIToolTip_TrackActivate and _GUITooltip_TrackPosition for examples of how to do what it is you want to do. The current release version has examples that you can play with.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
power1power1

Thank you. I updated the code. Now, it shows the tool tip but the text and background color don't change from the default. Any more suggestions you might have?

#include <GUIToolTip.au3>
$hToolTip = _GUIToolTip_Create(0)
_GUIToolTip_AddTool($hToolTip, 0, " ", 0, 0, 0, 0, 0, $TTF_SUBCLASS)
_GUIToolTip_SetTipBkColor($hToolTip, 0x00FFFF)
_GUIToolTip_SetTipTextColor($hToolTip, 0xFFFF00)
_GUIToolTip_TrackActivate($hToolTip, True, 0, 0)
While 1
   $aPos = MouseGetPos()
   _GUIToolTip_TrackPosition($hToolTip, $aPos[0], $aPos[1])
   _GUIToolTip_UpdateTipText($hToolTip, 0, 0, "X: " & $aPos[0] & " Y: " & $aPos[1])
   Sleep(100)
WEnd
_GUIToolTip_Destroy($hToolTip)
Exit

Share this post


Link to post
Share on other sites
BrewManNH

Again, look in the help file for _GUIToolTip_SetTipBkColor, the example script shows you how to get it to work. It's a Windows theme issue.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
power1power1

Thanks for the tip about Windows theme issue. Here is the complete working code. A colorized version of Tooltip :)

#include <GUIToolTip.au3>
$hToolTip = _GUIToolTip_Create(0)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", $hToolTip, "wstr", 0, "wstr", 0)
_GUIToolTip_AddTool($hToolTip, 0, " ", 0, 0, 0, 0, 0, $TTF_SUBCLASS)
_GUIToolTip_SetTipBkColor($hToolTip, 0x00FFFF)
_GUIToolTip_SetTipTextColor($hToolTip, 0xFFFF00)
_GUIToolTip_SetTitle($hToolTip, "Mouse Position:")
_GUIToolTip_TrackActivate($hToolTip, True, 0, 0)
WinSetOnTop($hToolTip, "", 1)
While 1
   $aPos = MouseGetPos()
   _GUIToolTip_TrackPosition($hToolTip, $aPos[0], $aPos[1])
   _GUIToolTip_UpdateTipText($hToolTip, 0, 0, "X: " & $aPos[0] & " Y: " & $aPos[1])
   Sleep(100)
WEnd
_GUIToolTip_Destroy($hToolTip)
Exit
Edited by power1power1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×