ifndef TTS_CLOSE
#define TTS_CLOSE 0x80
#endif
void __fastcall ShowBalloonTip(TWinControl *Control, int nIcon,
LPSTR lpTitle, LPSTR lpText, TColor clBack, TColor clFore)
{
HANDLE hWnd = Control->Handle;
HANDLE hWndTip = CreateWindow(TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON | TTS_ALWAYSTIP | TTS_CLOSE,
0, 0, 0, 0, hWnd, 0, HInstance, NULL);
TOOLINFO ti;
if(hWndTip != 0)
{
SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_CENTERTIP | TTF_TRANSPARENT | TTF_SUBCLASS;
ti.hwnd = hWnd;
ti.lpszText = lpText;
::GetClientRect(hWnd, &ti.rect);
SendMessage(hWndTip, TTM_SETTIPBKCOLOR, clBack, 0);
SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, clFore, 0);
SendMessage(hWndTip, TTM_ADDTOOL, 1, LPARAM(&ti));
SendMessage(hWndTip, TTM_SETTITLE, nIcon % 4, LPARAM(lpTitle));
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
点击Button1以后,把鼠标移到Button2上,就会看到惊喜。
ShowBalloonTip(Button2, 1, "标题", "嘿嘿,最好的Tip控件.", TColor(RGB(245,245,245)), clBlue);
}
bcb 悬浮窗
最新推荐文章于 2019-09-17 10:04:17 发布