Problems with the tooltip controls.

John Found johnfound at asm32.info
Mon Sep 19 14:32:35 CDT 2016


On Mon, 19 Sep 2016 14:01:21 -0500
Andrew Eikum <aeikum at codeweavers.com> wrote:
> 
> Wrote a quick test and they seem to be 0x28 and 0x2c respectively, so
> I guess that's not your problem.
> 
> Andrew

BTW, I tested with pointer set to 0 and still have return value of FALSE, so according to the source you posted, it seems that `infoPtr->nCurrentTool == -1` for this tooltip control. 

The control is created automatically by the toolbar. Here is the code that create the toolbar (some labels are arguments of the whole function):

; Create toolbar
        xor     esi,esi
        invoke  GetModuleHandleW,esi
        mov     edi, eax
        invoke  CreateWindowExW, esi, cToolbarClassName, NULL,    \
                                WS_CHILD or                      \
                                WS_VISIBLE or                    \
                                WS_CLIPSIBLINGS or               \
                                WS_CLIPCHILDREN or               \
                                TBSTYLE_TRANSPARENT or           \
                                TBSTYLE_FLAT or                  \
                                TBSTYLE_TOOLTIPS or              \
                                TBSTYLE_WRAPABLE,                \
                                esi, esi, esi, esi,              \
                                [.ParentWindow], [.ToolbarID],   \
                                edi, NULL
        mov     ebx,eax
        stdcall SubclassWindow, ebx, CoolToolbarProc
        invoke  SetPropW, ebx, [propAutoSize], TRUE

        invoke  SendMessageW, ebx, TB_BUTTONSTRUCTSIZE, TToolbarButton.size, esi

; make arrows for dropdown buttons
        invoke  SendMessageW, ebx, TB_GETEXTENDEDSTYLE, esi, esi
        or      eax,TBSTYLE_EX_DRAWDDARROWS
        invoke  SendMessageW, ebx, TB_SETEXTENDEDSTYLE, esi, eax

; Set image lists
        invoke  SendMessageW, ebx, TB_SETIMAGELIST, esi, [.ImagesNormal]
        invoke  SendMessageW, ebx, TB_SETDISABLEDIMAGELIST, esi, [.ImagesDisabled]

; make tooltip to appear on not active main window.
        invoke  SendMessageW, ebx, TB_GETTOOLTIPS, 0, 0
        mov     esi, eax
        invoke  GetWindowLongW, esi, GWL_STYLE
        or      eax, TTS_ALWAYSTIP or TTS_NOPREFIX
        invoke  SetWindowLongW, esi, GWL_STYLE, eax
; Set tooltip delay time.
        invoke  SendMessageW, esi, TTM_SETDELAYTIME, TTDT_AUTOMATIC, 600



-- 
http://fresh.flatassembler.net
http://asm32.info
John Found <johnfound at asm32.info>



More information about the wine-devel mailing list