Announcement

Collapse
No announcement yet.

Custom toolltip?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Custom toolltip?

    Try to create a Tooltip using WinAPI. It seems there are no errors, but I don't see him when the mouse hovers over the button. What am I doing wrong?
    Code:
    [font=Courier New][size=2][color=#008000][i]--[[ Constants ]][/i][/color][color=#008000][i]--[/i][/color]
    WS_EX_TOPMOST [color=#FF0000]=[/color] 0x00000008[color=#FF0000];[/color]
    
    TTS_ALWAYSTIP [color=#FF0000]=[/color] 0x00000001[color=#FF0000];[/color]
    TTS_NOPREFIX  [color=#FF0000]=[/color] 0x00000002[color=#FF0000];[/color]
    TTS_BALLOON   [color=#FF0000]=[/color] 0x00000040[color=#FF0000];[/color]
    
    TTF_SUBCLASS  [color=#FF0000]=[/color] 0x00000010[color=#FF0000];[/color]
    TTF_IDISHWND  [color=#FF0000]=[/color] 0x00000001[color=#FF0000];[/color]
    
    TTM_ADDTOOL   [color=#FF0000]=[/color] 0x404[color=#FF0000];[/color]
    TTM_ACTIVATE  [color=#FF0000]=[/color] 0x401[color=#FF0000];[/color]
    
    [color=#008000][i]--[[ Structures ]][/i][/color][color=#008000][i]--[/i][/color]
    TOOLINFO [color=#FF0000]=[/color] MemoryEx[color=#FF0000].[/color]DefineStruct[color=#FF0000]{[/color]
        UINT([color=#800080]'Size'[/color])[color=#FF0000];[/color]
        UINT([color=#800080]'Flags'[/color])[color=#FF0000];[/color]
        UINT([color=#800080]'hWnd'[/color])[color=#FF0000];[/color]
        UINT([color=#800080]'ID'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Left'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Top'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Right'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Bottom'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'hInst'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Text'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Param'[/color])[color=#FF0000];[/color]
        INT([color=#800080]'Reserved'[/color])[color=#FF0000];[/color]
    [color=#FF0000]}[/color][color=#FF0000];[/color]
    
    [color=#008000][i]--[[ Main ]][/i][/color][color=#008000][i]--[/i][/color]
    [color=#0000FF][b]local[/b][/color] sToolTipText [color=#FF0000]=[/color] [color=#800080]'This is a text'[/color][color=#FF0000];[/color]
    [color=#0000FF][b]local[/b][/color] hIDWnd [color=#FF0000]=[/color] xButton[color=#FF0000].[/color]GetProperties([color=#800080]"xButton1"[/color])[color=#FF0000].[/color]WindowHandle[color=#FF0000];[/color]
    
    [color=#0000FF][b]local[/b][/color] User32 [color=#FF0000]=[/color] Library[color=#FF0000].[/color]Load([color=#800080]"user32.dll"[/color])[color=#FF0000];[/color]
    
    [color=#0000FF][b]local[/b][/color] hToolTip [color=#FF0000]=[/color] User32[color=#FF0000].[/color]CreateWindowExA(WS_EX_TOPMOST[color=#FF0000],[/color] [color=#800080]"tooltips_class32"[/color][color=#FF0000],[/color] [color=#800080]""[/color][color=#FF0000],[/color] Bitwise[color=#FF0000].[/color]Or(TTS_ALWAYSTIP[color=#FF0000],[/color] TTS_NOPREFIX[color=#FF0000],[/color] TTS_BALLOON)[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0[color=#FF0000],[/color] 0)[color=#FF0000];[/color]
    
    [color=#0000FF][b]local[/b][/color] pBuf [color=#FF0000]=[/color] MemoryEx[color=#FF0000].[/color]Allocate([color=#FF0000]#[/color]sToolTipText [color=#FF0000]+[/color] 1)[color=#FF0000];[/color]
    MemoryEx[color=#FF0000].[/color]String(pBuf[color=#FF0000],[/color] [color=#FF0000]-[/color]1[color=#FF0000],[/color] MEMEX_ASCII[color=#FF0000],[/color] sToolTipText)[color=#FF0000];[/color]
    
    [color=#0000FF][b]local[/b][/color] tTOOLINFO  [color=#FF0000]=[/color] TOOLINFO[color=#FF0000]:[/color]New()[color=#FF0000];[/color]
    tTOOLINFO[color=#FF0000].[/color]Size   [color=#FF0000]=[/color] MemoryEx[color=#FF0000].[/color]StructSize(TOOLINFO)[color=#FF0000];[/color]
    tTOOLINFO[color=#FF0000].[/color]Flags  [color=#FF0000]=[/color] Bitwise[color=#FF0000].[/color]Or(TTF_SUBCLASS[color=#FF0000],[/color] TTF_IDISHWND)[color=#FF0000];[/color]
    tTOOLINFO[color=#FF0000].[/color]hWnd   [color=#FF0000]=[/color] User32[color=#FF0000].[/color]GetParent()[color=#FF0000];[/color]
    tTOOLINFO[color=#FF0000].[/color]ID     [color=#FF0000]=[/color] hIDWnd[color=#FF0000];[/color]
    TOOLINFO[color=#FF0000].[/color]Text    [color=#FF0000]=[/color] pBuf[color=#FF0000];[/color]
    
    [color=#0000FF][b]local[/b][/color] nRet [color=#FF0000]=[/color] User32[color=#FF0000].[/color]SendMessageA(hToolTip[color=#FF0000],[/color] TTM_ADDTOOL[color=#FF0000],[/color] 0[color=#FF0000],[/color] tTOOLINFO[color=#FF0000]:[/color]GetPointer())[color=#FF0000];[/color]
    
    tTOOLINFO[color=#FF0000]:[/color]Free()[color=#FF0000];[/color]
    MemoryEx[color=#FF0000].[/color]Free(pBuf)[color=#FF0000];[/color]
    
    User32[color=#FF0000].[/color]SendMessageA(hToolTip[color=#FF0000],[/color] TTM_ACTIVATE[color=#FF0000],[/color] 1[color=#FF0000],[/color] 0)[color=#FF0000];[/color]
    
    User32[color=#FF0000]:[/color]Close_()[color=#FF0000];[/color][/size][/font]

  • #2
    I went through the common controls and all the api things like tool-tips and got everything working except tool-tips, don't know why they never worked and I spent ages trying so just gave up but dont forget you can make your own classes to make your own tool-tips.

    Try using Unicode instead of ASCII.

    Comment

    Working...
    X