C++气泡

void __fastcall ShowBalloonTip(TWinControl *Control, int  Icon, 
char *Title, char *Text)
{
    HWND hBalloonTip;
    HWND hPareWnd;
    TOOLINFO ti;
int w = 0;
int h =0;
int Left = 0;
int Top  = 0;


    hPareWnd    = Control->Handle;
    hBalloonTip = CreateWindow(TOOLTIPS_CLASS, NULL, 
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON | TTS_ALWAYSTIP , 
0, 0, 0, 0, 
hPareWnd, 0, HInstance, NULL);


    if( hBalloonTip )
    {
        ti.cbSize = sizeof(ti);


/*
*指定位置上显示气泡提示
*/
ti.uFlags = TTF_TRACK /*| TTF_ABSOLUTE*/;
        ti.hwnd = hPareWnd;
        ti.lpszText = Text;
        
SetWindowPos(hBalloonTip, HWND_TOPMOST, 
0,0,0,0,
SWP_NOACTIVATE  | SWP_NOMOVE | SWP_NOSIZE );


//set color
//        SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCL, 0);
//        SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCL, 0);


        SendMessage(hBalloonTip, TTM_ADDTOOL, WPARAM(1), LPARAM(&ti));
        SendMessage(hBalloonTip, TTM_SETTITLE, WPARAM(Icon), LPARAM(Title));


// 定义气泡位置,粘附在指定控件旁边
GetWindowRect(hPareWnd, &ti.rect);
Left = ti.rect.left;
Top =  ti.rect.top;
w = ti.rect.right - ti.rect.left;
h = ti.rect.bottom - ti.rect.top;
SendMessage(hBalloonTip,
TTM_TRACKPOSITION, WPARAM(0), 
MAKELONG(w  + Left,h  + Top)); 
//显示气泡
SendMessage(hBalloonTip, 
TTM_TRACKACTIVATE, 
WPARAM(True), LPARAM(&ti));  


//注意销毁窗口
    }
}


ShowBalloonTip(edt1, TTI_INFO, "标题","我是一个气泡");
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值