1。static控件不可以添加tooltips吗?
BOOL CMyWndDlg::OnInitDialog()
{
m_tooltip.Create(this);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_STATIC1), "static");  //给一个static控件增加tip
}
没有提示出来,cstatic不也是从cwnd派生的么?2。如何给一块指定的区域添加tip?

解决方案 »

  1.   

    自己继承CStatic,添加一个ToolTipCtrl,然后响应WM_MOUSEHOVER,进行处理。
    可以参考下面的链接。这个例子的做法是用一个基类来将这些操作封装,在你工程中只需要使用作者提供的类。
    很方便哈。http://www.codeproject.com/KB/miscctrl/cmouseaction.aspx
      

  2.   

    我刚好也有做类似的东西.我是继承这个控件,添加他的onMouseMove,再发送自定义消息给父类dialog,dialog里设置个BOOL变量,在onPaint判断是否画出提示.响应消息时为真,dialog里也添加mouseMove事件,将消息设为假.在两处改变BOOL值时都算出那块Rect,再invalidateRect.
      

  3.   

    对你可能有用,不过方法可能会比较复杂点
    http://supergirl0225.spaces.live.com/Blog/cns!B6B418A7E9D7F2AF!1833.entry