Announcement

Collapse
No announcement yet.

Tooltip For A Rectangular Area

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

  • Tooltip For A Rectangular Area

    Code:
    User32Library [COLOR="#FF0000"]=[/COLOR] Library[COLOR="#FF0000"].[/COLOR]Load([COLOR="#800080"]"user32.dll"[/COLOR])
    Comctl32Library [COLOR="#FF0000"]=[/COLOR] Library[COLOR="#FF0000"].[/COLOR]Load([COLOR="#800080"]"Comctl32.dll"[/COLOR])
    HWND [COLOR="#FF0000"]=[/COLOR] INT
    HINSTANCE [COLOR="#FF0000"]=[/COLOR] INT
    UINT_PTR [COLOR="#FF0000"]=[/COLOR] UINT
    void [COLOR="#FF0000"]=[/COLOR] INT
    LPTSTR [COLOR="#FF0000"]=[/COLOR] INT
    LPARAM [COLOR="#FF0000"]=[/COLOR] INT
    RECT [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]DefineStruct[COLOR="#FF0000"]{[/COLOR]
      INT          [COLOR="#800080"]"left"[/COLOR];
      INT          [COLOR="#800080"]"top"[/COLOR];
      INT          [COLOR="#800080"]"right"[/COLOR];
      INT          [COLOR="#800080"]"bottom"[/COLOR];
    [COLOR="#FF0000"]}[/COLOR];
    INITCOMMONCONTROLSEX [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]DefineStruct[COLOR="#FF0000"]{[/COLOR]
      DWORD        [COLOR="#800080"]"dwSize"[/COLOR];
      DWORD        [COLOR="#800080"]"dwICC"[/COLOR];
    [COLOR="#FF0000"]}[/COLOR]
    TOOLINFOA [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]DefineStruct[COLOR="#FF0000"]{[/COLOR]
      UINT          [COLOR="#800080"]"cbSize"[/COLOR];
      UINT          [COLOR="#800080"]"uFlags"[/COLOR];
      HWND          [COLOR="#800080"]"hwnd"[/COLOR];
      UINT_PTR      [COLOR="#800080"]"uId"[/COLOR];
      RECT          [COLOR="#800080"]"rect"[/COLOR];
      HINSTANCE     [COLOR="#800080"]"hinst"[/COLOR];
      LPTSTR        [COLOR="#800080"]"lpszText"[/COLOR];
      LPARAM        [COLOR="#800080"]"lParam"[/COLOR];
      void          [COLOR="#800080"]"lpReserved"[/COLOR];
    [COLOR="#FF0000"]}[/COLOR];
    InitCommonControls [COLOR="#FF0000"]=[/COLOR] [COLOR="#0000FF"]function[/COLOR]()
     [COLOR="#0000FF"]local[/COLOR] B [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]Allocate(MemoryEx[COLOR="#FF0000"].[/COLOR]StructSize(INITCOMMONCONTROLSEX) + [COLOR="#000000"]100[/COLOR])
     [COLOR="#0000FF"]if[/COLOR](B)[COLOR="#0000FF"]then[/COLOR]
      [COLOR="#0000FF"]local[/COLOR] ICC_TAB_CLASSES [COLOR="#FF0000"]=[/COLOR] [COLOR="#000000"]8[/COLOR];
      S [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]AssignStruct(B + [COLOR="#000000"]50[/COLOR][COLOR="#FF0000"],[/COLOR]INITCOMMONCONTROLSEX)
      [COLOR="#0000FF"]if[/COLOR] (S) [COLOR="#0000FF"]then[/COLOR]
       S[COLOR="#FF0000"].[/COLOR]dwSize [COLOR="#FF0000"]=[/COLOR] S:Size()
       S[COLOR="#FF0000"].[/COLOR]dwICC [COLOR="#FF0000"]=[/COLOR] ICC_TAB_CLASSES
      [COLOR="#0000FF"]else[/COLOR]
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(B)
       [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
      [COLOR="#0000FF"]end[/COLOR]
     [COLOR="#0000FF"]else[/COLOR]
      [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
     [COLOR="#0000FF"]end[/COLOR]
     [COLOR="#0000FF"]local[/COLOR] x [COLOR="#FF0000"]=[/COLOR] Comctl32Library[COLOR="#FF0000"].[/COLOR]InitCommonControlsEx(S:GetPointer())
     S:Close()
     MemoryEx[COLOR="#FF0000"].[/COLOR]Free(B)
     [COLOR="#0000FF"]if[/COLOR] x [COLOR="#FF0000"]==[/COLOR] [COLOR="#000000"]0[/COLOR] [COLOR="#0000FF"]then[/COLOR]
      [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
     [COLOR="#0000FF"]else[/COLOR]
      [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]true[/COLOR]
     [COLOR="#0000FF"]end[/COLOR]
    [COLOR="#0000FF"]end[/COLOR];
    CreateTip [COLOR="#FF0000"]=[/COLOR] [COLOR="#0000FF"]function[/COLOR]()
      [COLOR="#0000FF"]local[/COLOR] WS_CHILD [COLOR="#FF0000"]=[/COLOR] 0x40000000
      [COLOR="#0000FF"]local[/COLOR] WS_EX_TOPMOST [COLOR="#FF0000"]=[/COLOR] 0x00000008
      [COLOR="#0000FF"]local[/COLOR] WS_POPUP [COLOR="#FF0000"]=[/COLOR] 0x80000000
      [COLOR="#0000FF"]local[/COLOR] TTS_NOPREFIX [COLOR="#FF0000"]=[/COLOR] 0x02
      [COLOR="#0000FF"]local[/COLOR] TOOLTIPS_CLASSA [COLOR="#FF0000"]=[/COLOR] [COLOR="#800080"]"tooltips_class32"[/COLOR]
      [COLOR="#0000FF"]local[/COLOR] TTS_ALWAYSTIP [COLOR="#FF0000"]=[/COLOR] 0x01
      [COLOR="#0000FF"]local[/COLOR] CW_USEDEFAULT [COLOR="#FF0000"]=[/COLOR] 0x80000000
      [COLOR="#0000FF"]local[/COLOR] S [COLOR="#FF0000"]=[/COLOR] WS_POPUP + TTS_NOPREFIX + TTS_ALWAYSTIP
      [COLOR="#0000FF"]local[/COLOR] hWnd [COLOR="#FF0000"]=[/COLOR] Application[COLOR="#FF0000"].[/COLOR]GetWndHandle()
      [COLOR="#0000FF"]local[/COLOR] X [COLOR="#FF0000"]=[/COLOR] User32Library[COLOR="#FF0000"].[/COLOR]CreateWindowExA(WS_EX_TOPMOST[COLOR="#FF0000"],[/COLOR]TOOLTIPS_CLASSA[COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR]S[COLOR="#FF0000"],[/COLOR]CW_USEDEFAULT[COLOR="#FF0000"],[/COLOR]CW_USEDEFAULT[COLOR="#FF0000"],[/COLOR]CW_USEDEFAULT[COLOR="#FF0000"],[/COLOR]CW_USEDEFAULT[COLOR="#FF0000"],[/COLOR]hWnd[COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR])
      [COLOR="#0000FF"]if[/COLOR] X [COLOR="#0000FF"]and[/COLOR] ([COLOR="#0000FF"]type[/COLOR](X) [COLOR="#FF0000"]~=[/COLOR] [COLOR="#800080"]"number"[/COLOR]) [COLOR="#0000FF"]then[/COLOR]
       [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
      [COLOR="#0000FF"]end[/COLOR]
      [COLOR="#0000FF"]local[/COLOR] SWP_NOMOVE [COLOR="#FF0000"]=[/COLOR] 0x0002
      [COLOR="#0000FF"]local[/COLOR] SWP_NOSIZE [COLOR="#FF0000"]=[/COLOR] 0x0001
      [COLOR="#0000FF"]local[/COLOR] SWP_NOACTIVATE [COLOR="#FF0000"]=[/COLOR] 0x0010
      [COLOR="#0000FF"]local[/COLOR] y [COLOR="#FF0000"]=[/COLOR] SWP_NOMOVE + SWP_NOSIZE + SWP_NOACTIVATE
      User32Library[COLOR="#FF0000"].[/COLOR]SetWindowPos(X[COLOR="#FF0000"],[/COLOR]-[COLOR="#000000"]1[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR]y)
      [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]true[/COLOR][COLOR="#FF0000"],[/COLOR] X
    [COLOR="#0000FF"]end[/COLOR];
    Activate [COLOR="#FF0000"]=[/COLOR] [COLOR="#0000FF"]function[/COLOR](TWnd)
      [COLOR="#0000FF"]local[/COLOR] TTM_ACTIVATE [COLOR="#FF0000"]=[/COLOR] 0x401
      User32Library[COLOR="#FF0000"].[/COLOR]SendMessageA(TWnd[COLOR="#FF0000"],[/COLOR]TTM_ACTIVATE[COLOR="#FF0000"],[/COLOR][COLOR="#000000"]1[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR])
    [COLOR="#0000FF"]end[/COLOR];
    SetTip [COLOR="#FF0000"]=[/COLOR] [COLOR="#0000FF"]function[/COLOR](TWnd[COLOR="#FF0000"],[/COLOR]Txt)
      [COLOR="#0000FF"]local[/COLOR] R [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]Allocate(MemoryEx[COLOR="#FF0000"].[/COLOR]StructSize(RECT) + [COLOR="#000000"]100[/COLOR])
      [COLOR="#0000FF"]if[/COLOR](R)[COLOR="#0000FF"]then[/COLOR]
       Rs [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]AssignStruct(R + [COLOR="#000000"]50[/COLOR][COLOR="#FF0000"],[/COLOR] RECT)
       [COLOR="#0000FF"]if[/COLOR](Rs)[COLOR="#0000FF"]then[/COLOR]
        [COLOR="#0000FF"]local[/COLOR] x [COLOR="#FF0000"]=[/COLOR] User32Library[COLOR="#FF0000"].[/COLOR]GetClientRect(Application[COLOR="#FF0000"].[/COLOR]GetWndHandle()[COLOR="#FF0000"],[/COLOR]Rs:GetPointer())
        [COLOR="#0000FF"]if[/COLOR] x [COLOR="#FF0000"]==[/COLOR] [COLOR="#000000"]0[/COLOR] [COLOR="#0000FF"]then[/COLOR]
         MemoryEx[COLOR="#FF0000"].[/COLOR]Free(R)
         Rs:Close()
         [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
        [COLOR="#0000FF"]end[/COLOR]
       [COLOR="#0000FF"]else[/COLOR]
        MemoryEx[COLOR="#FF0000"].[/COLOR]Free(R)
        [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
       [COLOR="#0000FF"]end[/COLOR]
      [COLOR="#0000FF"]else[/COLOR]
       [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
      [COLOR="#0000FF"]end[/COLOR]
     [COLOR="#0000FF"]local[/COLOR] T [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]Allocate(MemoryEx[COLOR="#FF0000"].[/COLOR]StructSize(TOOLINFOA) + [COLOR="#000000"]100[/COLOR])
     [COLOR="#0000FF"]if[/COLOR](T)[COLOR="#0000FF"]then[/COLOR]
      [COLOR="#0000FF"]local[/COLOR] Ts [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]AssignStruct(T + [COLOR="#000000"]50[/COLOR][COLOR="#FF0000"],[/COLOR] TOOLINFOA)
      [COLOR="#0000FF"]if[/COLOR](Ts)[COLOR="#0000FF"]then[/COLOR]
       [COLOR="#0000FF"]local[/COLOR] TTF_SUBCLASS [COLOR="#FF0000"]=[/COLOR] 0x0010
       Ts[COLOR="#FF0000"].[/COLOR]cbSize [COLOR="#FF0000"]=[/COLOR] Ts:Size()
       Ts[COLOR="#FF0000"].[/COLOR]uFlags [COLOR="#FF0000"]=[/COLOR] TTF_SUBCLASS
       Ts[COLOR="#FF0000"].[/COLOR]hwnd [COLOR="#FF0000"]=[/COLOR] Application[COLOR="#FF0000"].[/COLOR]GetWndHandle()
       Ts[COLOR="#FF0000"].[/COLOR]uId [COLOR="#FF0000"]=[/COLOR] [COLOR="#000000"]0[/COLOR]
       Ts[COLOR="#FF0000"].[/COLOR]rect [COLOR="#FF0000"]=[/COLOR] Rs:GetPointer()
       Ts[COLOR="#FF0000"].[/COLOR]hinst [COLOR="#FF0000"]=[/COLOR] [COLOR="#000000"]0[/COLOR]
       [COLOR="#0000FF"]local[/COLOR] n [COLOR="#FF0000"]=[/COLOR] String[COLOR="#FF0000"].[/COLOR]Length(Txt) + [COLOR="#000000"]1[/COLOR]
       [COLOR="#0000FF"]local[/COLOR] m [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]Allocate(n)
       MemoryEx[COLOR="#FF0000"].[/COLOR]String(m[COLOR="#FF0000"],[/COLOR]-[COLOR="#000000"]1[/COLOR][COLOR="#FF0000"],[/COLOR]MEMEX_ASCII[COLOR="#FF0000"],[/COLOR]Txt)
       Ts[COLOR="#FF0000"].[/COLOR]lpszText [COLOR="#FF0000"]=[/COLOR] m
       Ts[COLOR="#FF0000"].[/COLOR]lParam [COLOR="#FF0000"]=[/COLOR] [COLOR="#000000"]101[/COLOR]
       Ts[COLOR="#FF0000"].[/COLOR]lpReserved [COLOR="#FF0000"]=[/COLOR] [COLOR="#000000"]0[/COLOR]
       [COLOR="#0000FF"]local[/COLOR] TTM_ADDTOOLA [COLOR="#FF0000"]=[/COLOR] 0x404
       [COLOR="#0000FF"]local[/COLOR] x [COLOR="#FF0000"]=[/COLOR] User32Library[COLOR="#FF0000"].[/COLOR]SendMessageA(TWnd[COLOR="#FF0000"],[/COLOR]TTM_ADDTOOLA[COLOR="#FF0000"],[/COLOR][COLOR="#000000"]0[/COLOR][COLOR="#FF0000"],[/COLOR]Ts:GetPointer())
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(T)
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(m)
       Ts:Close();
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(R)
       Rs:Close()
       [COLOR="#0000FF"]if[/COLOR] x [COLOR="#FF0000"]==[/COLOR] [COLOR="#000000"]0[/COLOR] [COLOR="#0000FF"]then[/COLOR]
        [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
       [COLOR="#0000FF"]else[/COLOR]
        [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]true[/COLOR]
       [COLOR="#0000FF"]end[/COLOR]
      [COLOR="#0000FF"]else[/COLOR]
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(R)
       Rs:Close()
       MemoryEx[COLOR="#FF0000"].[/COLOR]Free(T)
       [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
      [COLOR="#0000FF"]end[/COLOR]
     [COLOR="#0000FF"]else[/COLOR]
      [COLOR="#0000FF"]return[/COLOR] [COLOR="#0000FF"]false[/COLOR]
     [COLOR="#0000FF"]end[/COLOR]
    [COLOR="#0000FF"]end[/COLOR];
    
    
    CT [COLOR="#FF0000"]=[/COLOR] InitCommonControls()
    _[COLOR="#FF0000"],[/COLOR] Tip [COLOR="#FF0000"]=[/COLOR] CreateTip()
    Activate(Tip)
    _ [COLOR="#FF0000"]=[/COLOR] SetTip(Tip[COLOR="#FF0000"],[/COLOR][COLOR="#800080"]"My tooltip"[/COLOR])
    
    
    Dialog[COLOR="#FF0000"].[/COLOR]Message([COLOR="#800080"]""[/COLOR][COLOR="#FF0000"],[/COLOR][COLOR="#800080"]"Common Controls = "[/COLOR][COLOR="#FF0000"]..[/COLOR][COLOR="#0000FF"]tostring[/COLOR](CT)[COLOR="#FF0000"]..[/COLOR][COLOR="#800080"]"[COLOR="#800080"]\n[/COLOR]Tip Handle = "[/COLOR][COLOR="#FF0000"]..[/COLOR][COLOR="#0000FF"]tostring[/COLOR](Tip)[COLOR="#FF0000"]..[/COLOR][COLOR="#800080"]"[COLOR="#800080"]\n[/COLOR]Tip Set = "[/COLOR][COLOR="#FF0000"]..[/COLOR][COLOR="#0000FF"]tostring[/COLOR](_))
    I'm trying to create a tooltip using MemoryEx and these instructions but the tip won't display so can anyone see what's wrong?
Working...
X