onpaint中贴了一幅图,鼠标放上去的时候,如何在鼠标旁边显示这幅图的名字

wjjll123 2013-06-21 11:03:00
onpaint中贴了一幅图,鼠标放上去的时候,如何在鼠标旁边显示这幅图的名字

看到很多软件都有这种功能。比如鼠标放在button上,鼠标旁边会显示这个button上面显示的字,放在地图上,会显示鼠标所在位置的城市
...全文
119 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010588063 2013-06-21
  • 打赏
  • 举报
回复
第一步:获取图片的Rect; 第二步:添加WM_MOVE时间; 第三步:创建一个 CToolTipCtrl成员变量; 第四步:用wm_move消息映射函数中Point坐标进行判断是否在图片的Rect体内,如果在就用CToolTipCtrl提示你所要显示的信息。 首先思路要明确,然后一步一步走,不懂的查查,问问。
wjjll123 2013-06-21
  • 打赏
  • 举报
回复
引用 2 楼 VisualEleven 的回复:
CToolTipCtrl::UpdateTipText();
引用 1 楼 CometNet 的回复:
CToolTipCtrl CToolTipCtrl类封装了一个“工具提示控件”的性能。工具提示控件是一个小的弹出窗口,它用来显示一行描述应用程序中的一个工具的目的的文本。一个“工具”可以是一个窗口,比如说一个子窗口或控件,或者是一个窗口的客户区中的一个应用程序定义的矩形区域。一个工具提示大多数时间是隐藏的,只有在用户将光标放在一个工具上并停留大约半秒时间时,工具提示才显示出来。工具提示显示在光标的附近,当用户点击鼠标按钮或将光标从工具上离开时,工具提示消失。 CToolTipCtrl提供了一些功能,用来控制工具提示的初始时间和持续时间,工具提示周围的边距宽度,工具提示窗口本身的宽度,以及工具提示的背景和文本颜色。一个工具提示控件可以为多个工具提供信息。
求教,如果不是空间,只是贴图,怎么显示??
Eleven 2013-06-21
  • 打赏
  • 举报
回复
CToolTipCtrl::UpdateTipText();
邓学彬 2013-06-21
  • 打赏
  • 举报
回复
CToolTipCtrl CToolTipCtrl类封装了一个“工具提示控件”的性能。工具提示控件是一个小的弹出窗口,它用来显示一行描述应用程序中的一个工具的目的的文本。一个“工具”可以是一个窗口,比如说一个子窗口或控件,或者是一个窗口的客户区中的一个应用程序定义的矩形区域。一个工具提示大多数时间是隐藏的,只有在用户将光标放在一个工具上并停留大约半秒时间时,工具提示才显示出来。工具提示显示在光标的附近,当用户点击鼠标按钮或将光标从工具上离开时,工具提示消失。 CToolTipCtrl提供了一些功能,用来控制工具提示的初始时间和持续时间,工具提示周围的边距宽度,工具提示窗口本身的宽度,以及工具提示的背景和文本颜色。一个工具提示控件可以为多个工具提供信息。
schlafenhamster 2013-06-21
  • 打赏
  • 举报
回复
对话框初始化是: EnableToolTips(TRUE);//ToolTips 响应: BOOL CxxxDlg::OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult ) { TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR; UINT nID =pNMHDR->idFrom; // char txt[40]; // idFrom is actually the HWND of the control=IDC_xxx if (pTTT->hdr.code==TTN_NEEDTEXT) { if (pTTT->uFlags & TTF_IDISHWND) { if(((CStatic*)GetDlgItem(IDC_TT))->m_hWnd==(HWND)nID) { pTTT->lpszText="Double click to edit the text!"; } return TRUE; } } // return(FALSE); }
wjjll123 2013-06-21
  • 打赏
  • 举报
回复
引用 11 楼 u010588063 的回复:
你加我QQ1694569179,我来给你写
发邮件行不。我这里QQ的端口给封了。。。 wjjll123@163.com
u010588063 2013-06-21
  • 打赏
  • 举报
回复
你加我QQ1694569179,我来给你写
u010588063 2013-06-21
  • 打赏
  • 举报
回复
额,I follow you,我快给你写完了我,算了我送佛送到西算了
wjjll123 2013-06-21
  • 打赏
  • 举报
回复
引用 7 楼 u010588063 的回复:
你把 m_ToolTips.Create(this); 放在初始化函数中,把m_ToolTips.AddTool(GetDlgItem(IDC_MY_COMBO_BUTTON_XXX),TEXT("This is tooltip")); 放在MOVE函数中,如果鼠标在图片的Rect范围内就提示,
我是贴的图片,没有任何控件。 “AddTool(GetDlgItem(IDC_MY_COMBO_BUTTON_XXX),TEXT("This is tooltip"))” 这条语句我没有办法写啊
schlafenhamster 2013-06-21
  • 打赏
  • 举报
回复
对话框 EnableToolTip(TRUE);
u010588063 2013-06-21
  • 打赏
  • 举报
回复
你把 m_ToolTips.Create(this); 放在初始化函数中,把m_ToolTips.AddTool(GetDlgItem(IDC_MY_COMBO_BUTTON_XXX),TEXT("This is tooltip")); 放在MOVE函数中,如果鼠标在图片的Rect范围内就提示,
u010588063 2013-06-21
  • 打赏
  • 举报
回复
1, 对话框类添加成员: CToolTipCtrl m_ToolTips; 2, 在对话框 OnInitialUpdate 中添加 m_ToolTips.Create(this); m_ToolTips.AddTool(GetDlgItem(IDC_MY_COMBO_BUTTON_XXX),TEXT("This is tooltip")); 3, 在对话框类的 PreTranslateMessage(MSG* pMsg) 添加 switch(pMsg->message) { case WM_MOUSEMOVE: m_ToolTips.RelayEvent(pMsg); break; }
wjjll123 2013-06-21
  • 打赏
  • 举报
回复
引用 4 楼 u010588063 的回复:
第一步:获取图片的Rect; 第二步:添加WM_MOVE时间; 第三步:创建一个 CToolTipCtrl成员变量; 第四步:用wm_move消息映射函数中Point坐标进行判断是否在图片的Rect体内,如果在就用CToolTipCtrl提示你所要显示的信息。 首先思路要明确,然后一步一步走,不懂的查查,问问。
前面都搞定了。就剩下“如果在就用CToolTipCtrl提示你所要显示的信息。 ”这个不知道怎么弄了。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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