tooltips定位显示的问题

sault_chen 2009-08-27 06:40:44

我在对话框中,为一个显示图片的static控件(其实就是一个label)
添加了tooltips提示,现在tooltips能正常显示出来,但是这个提示窗口
总是显示在鼠标的尾部下方。我现在需要让这个提示小窗口显示在我这个静态
控件的上方,该怎么解决?有人说用setToolRect(),我用过了,但是还是不起作用。
请大家帮忙,非常紧急!
我的code 如下:
BOOL CTryLabelDlg::OnInitDialog()
{
CDialog::OnInitDialog();
...........
// TODO: Add extra initialization here
CBitmap bmp;
bmp.LoadBitmap(IDB_YELLOW);

this->m_label.ModifyStyle(0, SS_BITMAP);
m_label.SetBitmap(bmp);
bmp.Detach();

m_tooltip.Create(this,TTS_ALWAYSTIP);
CToolInfo toolinfo;

RECT rc1;
m_label.GetClientRect(&rc1);

m_tooltip.AddTool(&m_label, _T("Help"), &rc1, IDC_LABEL);

RECT rc;
rc.left = 0;
rc.bottom= 30;
rc.top= 0;
rc.right = 100;
m_tooltip.SetToolRect(&m_label, 1, &rc);

m_tooltip.Activate(true);

return TRUE; // return TRUE unless you set the focus to a control
}

BOOL CTryLabelDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(m_tooltip.GetSafeHwnd() != NULL)
{
m_tooltip.RelayEvent(pMsg);

}
return CDialog::PreTranslateMessage(pMsg);
}
...全文
241 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sault_chen 2009-08-28
  • 打赏
  • 举报
回复
虽然是个label static, 但是不是现实字符串,而是一张图片。在鼠标点击它的时候,会换成不同的图片,
但是在鼠标停留在上面的时候,需要显示tooltips来说明图片,所以需要用tooltips.
现在的问题是,我需要显示出来的tooltips不是在鼠标的尾部下方,而是需要tooltips显示在图片的正上方。所以需要通知tooltips控件,改变窗口的位置,但是不知道怎么通知。谁能帮忙解决呀,很紧急!
Gothic_girl 2009-08-27
  • 打赏
  • 举报
回复
直接更新控件上的显示内容不就好了?
bragi523 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gothic_girl 的回复:]
直接更新控件上的显示内容不就好了?
[/Quote]
有理
lable还要用tooltips?
而且还在上面

15,979

社区成员

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

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