怎么用tooltip弹出提示框实时的现实鼠标坐标的位置

dwtrace2 2011-07-05 03:07:23
怎么用tooltip弹出提示框实时的现实鼠标坐标的位置? 搞了一天了都没有搞定。

经常碰到坐标不更新及显示之后移动了鼠标TIP没有及时跟上的问题

你哪里老大做过,贴个代码来看看啊。。。

void TForm2::AddToolTip(HWND hWnd ,int IconType,char *Text,char *Title ,
TColor BackColor,TColor TextColor,int x,int y)
{
TToolInfo ToolInfo;
char buffer[256];
TRect Rect;
TPoint lpPoint; // screen coordinates
lpPoint.x = x;
lpPoint.y = y;
::ClientToScreen(hWnd,&lpPoint);
if(hTooltip != 0)
{
SetWindowPos(hTooltip, 0/*HWND_TOPMOST*/, lpPoint.x, lpPoint.y, 0, 0,/*SWP_NOMOVE|SWP_NOSIZE|*/SWP_NOACTIVATE|SWP_SHOWWINDOW);
ToolInfo.cbSize = sizeof(TToolInfo);
ToolInfo.uFlags = TTF_SUBCLASS;//|TTF_TRANSPARENT;
ToolInfo.hinst = NULL;
}
else
{
hTooltip = 0;
}
//Rect = GetClientRect();
::GetClientRect(hWnd, &Rect);
if(hWnd != 0 )
{
ToolInfo.hwnd=hWnd;
ToolInfo.rect=Rect;
ToolInfo.lpszText=Text;
SendMessage(hTooltip,TTM_ADDTOOL,0,int(&ToolInfo));
memset(buffer,sizeof(buffer),'0');
lstrcpy(buffer,Title);
if(IconType > 3||IconType < 0)
IconType = 0;
if(BackColor!=0)
SendMessage(hTooltip,TTM_SETTIPBKCOLOR,BackColor,0);
if(TextColor!=0)
SendMessage(hTooltip,TTM_SETTIPTEXTCOLOR,TextColor,0);
if(Title!=0)
SendMessage(hTooltip,TTM_SETTITLE,IconType,int(&buffer));
}
// OldWindowProc = (WNDPROC)::GetWindowLong(hTooltip, GWL_WNDPROC);
// ::SetWindowLong(hTooltip, GWL_WNDPROC, (LONG)NewWindowProc);
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormMouseMove(TObject *Sender, TShiftState Shift, int X,
int Y)
{
String strPoint = "";
TVarRec args[2] = {X,Y};
strPoint = Format("%d,%d",args,2);
AddToolTip(this->Handle, 1,strPoint.c_str() , Application->Title.c_str(),(TColor)0,(TColor)0,X,Y);
}
...全文
375 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘中人 2011-07-06
  • 打赏
  • 举报
回复
memset初始化有问题。memset(buffer,0,sizeof(buffer));
hTooltip始终是NULL值,
缘中人 2011-07-06
  • 打赏
  • 举报
回复
我这里怎么没有任何提示
帮顶
dwtrace2 2011-07-06
  • 打赏
  • 举报
回复

快来看看啊,进来顶下就给分,不够我加!
缘中人 2011-07-06
  • 打赏
  • 举报
回复
http://hi.baidu.com/%B0%AE%C1%B5%D4%B5/blog/item/2bc936fe04b496245c600887.html

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧