Ignore:
Timestamp:
Jan 3, 2001, 10:05:57 PM (25 years ago)
Author:
umoeller
Message:

Reworked tooltip.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/helpers/comctl.h

    r18 r19  
    439439
    440440    // TOOLINFO.uFlags flags (ORed)
    441     #define TTF_IDISHWND            0x0001
    442     #define TTF_CENTERTIP           0x0002
    443     #define TTF_RTLREADING          0x0004
     441    // #define TTF_IDISHWND            0x0001
     442                // V0.9.7 (2001-01-03) [umoeller]: removed this win95 bullshit
     443    #define TTF_CENTERBELOW         0x0002
     444    #define TTF_CENTERABOVE         0x0004
     445    // #define TTF_RTLREADING          0x0004
     446                // V0.9.7 (2001-01-03) [umoeller]: removed this win95 bullshit
    444447    #define TTF_SUBCLASS            0x0008
    445448    // non-Win95 flags
    446449    #define TTF_SHYMOUSE            0x0010
    447450
    448     #define LPSTR_TEXTCALLBACK      (PSZ)-1
     451    #define PSZ_TEXTCALLBACK      (PSZ)-1
    449452
    450453    #define TT_SHADOWOFS            10
     
    456459     *      tooltip control. Used with TTM_ADDTOOL
    457460     *      and many other TTM_* messages.
     461     *
     462     *@@changed V0.9.7 (2001-01-03) [umoeller]: removed all that win95 bullshit
    458463     */
    459464
    460465    typedef struct _TOOLINFO
    461466    {
    462         ULONG /* UINT */ cbSize;       // in: sizeof(TOOLINFO)
    463         ULONG /* UINT */ uFlags;
     467        ULONG   ulFlags;
    464468                    // in: flags for the tool, any combination of:
    465                     // -- TTF_IDISHWND: Indicates that the uId member is the window
    466                     //      handle to the tool. If this flag is not set, uId is
    467                     //      the identifier of the tool.
    468                     // -- TTF_CENTERTIP:  Centers the tooltip window below the
    469                     //      tool specified by the uId member.
    470                     // -- TTF_RTLREADING: Windows 95 only: Displays text using
    471                     //      right-to-left reading order on Hebrew or Arabic systems.
    472                     //      (Ignored on OS/2).
     469                    // -- TTF_CENTERBELOW:  centers the tooltip window below the
     470                    //      tool specified by the hwndTool member.
     471                    // -- TTF_CENTERABOVE:  centers the tooltip window above the
     472                    //      tool specified by the hwndTool member.
    473473                    // -- TTF_SUBCLASS: Indicates that the tooltip control should
    474                     //      subclass the tool's window to intercept messages,
     474                    //      subclass hwndTool to intercept messages,
    475475                    //      such as WM_MOUSEMOVE. See TTM_RELAYEVENT.
    476476                    // -- TTF_SHYMOUSE (OS/2 only): shy away from mouse pointer;
     
    478478                    //      covered by the mouse pointer (for readability);
    479479                    //      added V0.9.1 (2000-02-04) [umoeller]
    480         HWND      hwnd;
     480        HWND    hwndToolOwner;
    481481                    // in: handle to the window that contains the tool. If
    482482                    // lpszText includes the LPSTR_TEXTCALLBACK value, this
    483483                    // member identifies the window that receives TTN_NEEDTEXT
    484484                    // notification messages.
    485         ULONG /* UINT */ uId;
    486                     // in: application-defined identifier of the tool. If uFlags
    487                     // includes the TTF_IDISHWND value, uId must specify the
    488                     // window handle to the tool.
    489         RECTL /* RECT */ rect;
    490                     // in: coordinates of the bounding rectangle of the tool.
    491                     // The coordinates are relative to the upper-left corner of
    492                     // the client area of the window identified by hwnd. If
    493                     // uFlags includes the TTF_IDISHWND value, this member is
    494                     // ignored.
    495         HMODULE /* HINSTANCE */ hinst;
    496                     // in: handle to the instance that contains the string
    497                     // resource for the tool. If lpszText specifies the identifier
    498                     // of a string resource, this member is used.
    499                     // Note: On Win32, this is an HINSTANCE field. On OS/2,
    500                     // this is a HMODULE field. The field name is retained for
    501                     // compatibility.
    502         PSZ /* LPTSTR */ lpszText;
     485        HWND    hwndTool;
     486                    // in: window handle of the tool.
     487                    // ### simple rectangles of hwndToolOwner not yet supported
     488        PSZ     pszText;
    503489                    // in: pointer to the buffer that contains the text for the
    504490                    // tool (if the hiword is != NULL), or identifier of the string
    505491                    // resource that contains the text (if the hiword == NULL).
    506                     // If this member is set to the LPSTR_TEXTCALLBACK value,
     492                    // If this member is set to the PSZ_TEXTCALLBACK value,
    507493                    // the control sends the TTN_NEEDTEXT notification message to
    508                     // the owner window to retrieve the text.
     494                    // hwndToolOwner to retrieve the text.
    509495    } TOOLINFO, *PTOOLINFO;
    510496
     
    529515    #define TTM_SETDELAYTIME            (TTM_FIRST + 6)
    530516
    531     /*
    532      *@@ NMHDR:
    533      *      structure used with TOOLTIPTEXT;
    534      *      under Win32, this is a generic structure which
    535      *      comes with all WM_NOTIFY messages.
    536      */
    537 
    538     typedef struct _NMHDR
    539     {
    540         HWND    hwndFrom;       // control sending the message
    541         ULONG   idFrom;         // ID of that control
    542         USHORT  code;           // notification code
    543     } NMHDR, *PNMHDR;
     517    #define TTFMT_PSZ           0x01
     518    #define TTFMT_STRINGRES     0x02
    544519
    545520    /*
    546521     *@@ TOOLTIPTEXT:
    547522     *      identifies a tool for which text is to be displayed and
    548      *      receives the text for the tool.
     523     *      receives the text for the tool. The tool must fill all
     524     *      fields of this structure.
    549525     *
    550526     *      This structure is used with the TTN_NEEDTEXT notification.
     527     *
     528     *@@changed V0.9.7 (2001-01-03) [umoeller]: got rid of this win95 bullshit
    551529     */
    552530
    553531    typedef struct _TOOLTIPTEXT
    554532    {
    555         NMHDR     hdr;          // on Win95, this is required for all WM_NOTIFY msgs
    556         PSZ /* LPTSTR */ lpszText;
    557                     // out: pointer to a string that contains or receives the text
    558                     // for a tool. If hinst specifies an instance handle, this
    559                     // member must be the identifier of a string resource.
    560         char      szText[80];
    561                     // out: buffer that receives the tooltip text. An application can
    562                     // copy the text to this buffer as an alternative to specifying a
    563                     // string address or string resource.
    564         HMODULE /* HINSTANCE */ hinst;
    565                     // out: handle to the instance (OS/2: module) that contains a string
    566                     // resource to be used as the tooltip text. If lpszText is the
    567                     // pointer to the tooltip text, this member is NULL.
    568                     // Note: On Win32, this is an HINSTANCE field. On OS/2,
    569                     // this is a HMODULE field. The field name is retained for
    570                     // compatibility.
    571         ULONG /* UINT */ uFlags;
    572                     // in: flag that indicates how to interpret the idFrom member of
    573                     // the NMHDR structure that is included in the structure. If this
    574                     // member is the TTF_IDISHWND value, idFrom is the handle of the
    575                     // tool. Otherwise, idFrom is the identifier of the tool.
    576                     // Windows 95 only: If this member is the TTF_RTLREADING value,
    577                     // then text on Hebrew or Arabic systems is displayed using
    578                     // right-to-left reading order. (Ignored on OS/2.)
     533        HWND    hwndTooltip;
     534                    // in: tooltip control who's sending this.
     535        HWND    hwndTool;
     536                    // in: tool for which the text is needed.
     537        ULONG   ulFormat;
     538                    // out: one of:
     539                    // -- TTFMT_PSZ: pszText contains the new, zero-terminated string.
     540                    // -- TTFMT_STRINGRES: hmod and idResource specify a string resource
     541                    //    to be loaded.
     542        PSZ     pszText;
     543                    // out: with TTFMT_PSZ, pointer to a string that contains the
     544                    // tool text. Note that this is not copied into the tooltip...
     545                    // so this must point to a static buffer.
     546        HMODULE hmod;
     547                    // out: with TTFMT_STRINGRES, the module handle of the resource.
     548        ULONG   idResource;
     549                    // out: with TTFMT_STRINGRES, the string resource ID.
    579550    } TOOLTIPTEXT, *PTOOLTIPTEXT;
    580551
Note: See TracChangeset for help on using the changeset viewer.