zoukankan      html  css  js  c++  java
  • VC中给控件添加ToolTip

     

    Msdn中,

    About Tooltip Controls

        Describes how tooltip controls work and how you create them.

         http://msdn.microsoft.com/en-us/library/windows/desktop/bb760250(v=vs.85).aspx

    Using Tooltip Controls

        This section contains examples that demonstrate how to create different types of tooltips.

          http://msdn.microsoft.com/en-us/library/windows/desktop/bb760252(v=vs.85).aspx

     

    CToolTipCtrl一般用法步骤,只适用于窗口控件(如Button):

    1. 类中添加成员变量 CToolTipCtrl m_tt。

    2. 在文档视图工程的OnCreate(对话框工程的OnInitDialog)中(或者其他适当的位置),进行CtoolTipCtrl的初始化相关工作

    EnableToolTips(TRUE);
    m_tt.Create(this);
    m_tt.Activate(TRUE);

    3.向CToolTipCtrl中添加需要显示Tip的控件,并同时指定相应的显示字串。

    m_tt.AddTool(pWnd,"string to display"); 

    4. 重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用

    if (m_tt.GetSafeHwnd() != NULL)
        m_tt.RelayEvent(pMsg)

    CToolTipCtrl的通用方法,不仅适用于窗口类控件,还适用于Toolbar的按钮:

      1)头文件中添加函数声明

    afx_msg BOOL OnToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult); 

      2)添加消息映射 ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnToolTip)。

      3)在文档视图工程的OnCreate(对话框工程的OnInitDialog)中(或者其他适当的位置),进行CtoolTipCtrl的初始化相关工作。

     EnableToolTips(TRUE);

         添加函数OnToolTip实现

    BOOL   CMainFrame::OnToolTip(UINT id,NMHDR *pNMHDR,LRESULT *pResult)  
    TOOLTIPTEXT *pTTT = (TOOLTIPTEXT*)pNMHDR; 
    UINT uID = pNMHDR->idFrom;   
    if(pTTT->uFlags & TTF_IDISHWND)  uID = ::GetDlgCtrlID((HWND)uID);   
    if(uID <= 0)   return   FALSE;  
    switch (uID)
    {   
    case ID_EXAM_NEW: pTTT->lpszText = L"New"; break;
    }
    return   TRUE;
    }

    以上内容整理自网络

    参考:http://zhoumf1214.blog.163.com/blog/static/52419402009113014342690/

  • 相关阅读:
    线段树
    哈希,hash
    单调栈
    树的重心
    背包问题
    最小生成树
    二分图匹配
    题解 P6355 [COCI2007-2008#3] DEJAVU
    题解 P6745 『MdOI R3』Number
    题解 P2080 增进感情
  • 原文地址:https://www.cnblogs.com/ant-wjf/p/3225295.html
Copyright © 2011-2022 走看看