当鼠标放上去显示提示信息

BOOL CMyTree::OnToolTipText( UINT id, NMHDR * pNMHDR, LRESULT * pResult )
{
 // need to handle both ANSI and UNICODE versions of the message
 TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
 TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
 CString strTipText;
 UINT nID = pNMHDR->idFrom;
 // Do not process the message from built in tooltip
 if( nID == (UINT)m_hWnd &&
  (( pNMHDR->code == TTN_NEEDTEXTA && pTTTA->uFlags & TTF_IDISHWND ) ||
  ( pNMHDR->code == TTN_NEEDTEXTW && pTTTW->uFlags & TTF_IDISHWND ) ) )
  return FALSE;
 
 // Get the mouse position
 const MSG* pMessage;
 CPoint pt;
 pMessage = GetCurrentMessage(); // get mouse pos
 ASSERT ( pMessage );
 pt = pMessage->pt;
 ScreenToClient( &pt );
 
 UINT nFlags;
 HTREEITEM hitem = HitTest( pt, &nFlags ); //Get item pointed by mouse
 
 LPTREEDATA lpTd=(LPTREEDATA)GetItemData(hitem);
 if(lpTd==NULL)
 {
  *pResult = 0;
  return TRUE;
 };  //CAST item data

 strTipText.Format(_T("%s %s"),lpTd->szName,lpTd->szDescription); //add node text to node data text
 
#ifndef _UNICODE
 if (pNMHDR->code == TTN_NEEDTEXTA)
  lstrcpyn(pTTTA->szText, strTipText, 80);
 else
  _mbstowcsz(pTTTW->szText, strTipText, 80);
#else
 if (pNMHDR->code == TTN_NEEDTEXTA)
  _wcstombsz(pTTTA->szText, strTipText, 80);
 else
  lstrcpyn(pTTTW->szText, strTipText, 80);
#endif
 *pResult = 0;
 
 return TRUE;    // message was handled
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值