封装一个Win32弹出提示框的函数(用于Window控件 显示Tooltip)

原标题:封装一个Win32弹出提示框的函数(用于STATIC等控件显示Tooltip)

    HWND WINAPI CreateToolTip(HWND hwndOwner, LPCTSTR szTip)  
    {  
        INITCOMMONCONTROLSEX iccex;   
        HWND hwndTT;                 // handle to the ToolTip control  
        TOOLINFO ti;  
        unsigned int uid = 0;       // for ti initialization  
        RECT rect;                  // for client area coordinates  
        /* INITIALIZE COMMON CONTROLS */  
        iccex.dwICC = ICC_WIN95_CLASSES;  
        iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);  
        InitCommonControlsEx(&iccex);  
        /* CREATE A TOOLTIP WINDOW */  
        hwndTT = CreateWindowEx(WS_EX_TOPMOST,  
            TOOLTIPS_CLASS,  
            NULL,  
            WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,          
            CW_USEDEFAULT,  
            CW_USEDEFAULT,  
            CW_USEDEFAULT,  
            CW_USEDEFAULT,  
            hwndOwner,  
            NULL,  
            gAppInstance,  
            NULL  
            );  
        SetWindowPos(hwndTT,  
            HWND_TOPMOST,  
            0,  
            0,  
            0,  
            0,  
            SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);  
        /* GET COORDINATES OF THE MAIN CLIENT AREA */  
        GetClientRect (hwndOwner, &rect);  
        /* INITIALIZE MEMBERS OF THE TOOLINFO STRUCTURE */  
        ti.cbSize = sizeof(TOOLINFO);  
        ti.uFlags = TTF_SUBCLASS;  
        ti.hwnd = hwndOwner;  
        ti.hinst = gAppInstance;  
        ti.uId = uid;  
        ti.lpszText = (LPTSTR)szTip;  
        // ToolTip control will cover the whole window  
        ti.rect.left = rect.left;      
        ti.rect.top = rect.top;  
        ti.rect.right = rect.right;  
        ti.rect.bottom = rect.bottom;  
        /* SEND AN ADDTOOL MESSAGE TO THE TOOLTIP CONTROL WINDOW */  
        SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti);   
        return hwndTT;  
    } 





封装一个Win32弹出提示框的函数(用于等等HWIN 显示Tooltip)

原文

http://blog.c114.net/html/77/581677-76489.html

不过使用时要注意,在调用之前,HWIN hwndOwner如需重新设置回调函数时,应先设置回调函数在调用此函数

如给某Button增加tooltip

HWND hButton = CreateWindowEx(0, _T("BUTTON"), _T("按钮"), WS_VISIBLE | WS_CHILD , 0, 0,30,30, hwnd, NULL, NULL, NULL);
SetWindowLongPtr (hButton, GWLP_WNDPROC, (LONG_PTR)ButtonCtrlProc);

CreateToolTip(hButton, _T("我是按钮"));

否则Tooltip将无法显示



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值