注册 登录
编程论坛 VC++/MFC

ToolTip 气泡控件问题

鸭子乖乖的 发布于 2021-02-24 21:58, 1818 次点击
程序代码:


HWND hTip = CreateWindow(TOOLTIPS_CLASS,
                                 NULL,       //气泡提示
                                 WS_POPUP | TTS_BALLOON,
                                 0, 0, 0, 0,
                                 hWnd,
                                 NULL,    // 注意这里需为NULL
                                 GetModuleHandle(NULL),
                                 NULL);     // 消息提示(气泡)
        
//注册气泡控件
        WCHAR tip_str[MAX_PATH] = L"你好啊,我是气泡提示!!!";
        TOOLINFOW ti;
                 ti.cbSize = sizeof(TOOLINFO);
                 ti.uFlags = TTF_SUBCLASS;
                 ti.hwnd = hButton;  //在哪个窗口或控件上显示消息
                 ti.uId = (UINT_PTR)hTip;   // 气泡控件句柄
                 GetClientRect(hWnd,&ti.rect);  // 客户区
                /* ti.rect.bottom = 0;
                 ti.rect.left = 0;
                 ti.rect.right = 0;
                 ti.rect.top = 0;
*/

                 ti.hinst = GetModuleHandle(NULL);
                 ti.lpszText = tip_str;
        SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)&ti);
        //设置提示文字宽度,可以多行显示            //提示消息的宽度
        SendMessage(hTip,TTM_SETMAXTIPWIDTH, 0, 1024);
        //显示前延迟                                             //单位 毫秒
        SendMessage(hTip, TTM_SETDELAYTIME, TTDT_AUTOMATIC, MAKELPARAM(100, 0));
        //显示后延迟                                             
        SendMessage(hTip, TTM_SETDELAYTIME, TTDT_AUTOPOP, MAKELPARAM(999999999,0));





易语言的气泡:
只有本站会员才能查看附件,请 登录



c语言的气泡:
只有本站会员才能查看附件,请 登录





为啥 c语言的气泡 放在按钮上面 没多久就消失了,没有 易语言的 耐久, 我是不是 参数设置错了 ,帮帮我


[此贴子已经被作者于2021-2-24 21:59编辑过]

2 回复
#2
cwa99582021-04-01 08:20
你设置时间短点试试看呢,比如1秒,5秒,10秒,看看是不是准确的。
我看别的软件的提示也是只有5秒左右的时间

[此贴子已经被作者于2021-4-1 08:22编辑过]

#3
zzz32652022-02-06 00:52
TTM_SETDELAYTIME 用这个控制有些问题, 而且无法避免
TTM_TRACKACTIVATE 可以用这个全部自己控制
1