使用CtoolTipCtrl

使用CtoolTipCtrl

 

导读:本文适用于相对静止的控件,比如按钮,不适用于向树型控件这样的位置不固定的控件(因为树型控件经常被折叠和展开)

 

CtoolTipCtrl封装了一个工具提示的控件,可弹出一个单行的小窗口来显示一些描述信息,大多时候它是隐藏的,除非用户将光标移到要显示提示的工具上面,并且停留大概半秒的时间它才显示,当单击鼠标或者移走光标的时候这个提示窗口就会消失

 

例子:给对话框的按钮添加提示功能

具体步骤:

 

l        首先创建一个对话框程序TestToolTip

l        TestToolTip类中定义一个CtoolTipCtrl对象

public:

    CToolTipCtrl m_pToolTipCtrl;

 

l        创建一个工具提示控件并关联到m_pToolTipCtrl对象,(位置:OnInitDialog

风格

意义

TTS_ALWAYSTIP

指示当光标在一个工具上时显示工具提示,不管工具提示的属主窗口是否是处于活动状态。没有这个风格,则只有当工具的属主窗口是活动的时候才会显示工具提示控件,否则不显示

TTS_NOPREFIX

这个风格禁止系统将 & 字符从一个字符串中去掉。如果一个工具提示控件没有 TTS_NOPREFIX 风格,则系统自动去掉 & 字符,让应用程序用同一个字符串作为菜单项和工具提示控件中的文本

 

if (!m_pToolTipCtrl.Create(this, TTS_ALWAYSTIP))

    {

       TRACE(_T("Unable To create ToolTip/n"));

       return FALSE;

    }

 

l        调用AddTool向工具提示添加注册,这样当光标移动到工具上才能显示信息

 

m_pToolTipCtrl.AddTool(GetDlgItem(IDOK),_T("确定按钮,点击关闭对话框"));

 

l        添加虚函数PreTranslateMessage

 

BOOL CTestToolTipDlg::PreTranslateMessage(MSG* pMsg)

{

    // TODO: Add your specialized code here and/or call the base class

    if(pMsg->message== WM_LBUTTONDOWN ||

       pMsg->message== WM_LBUTTONUP ||

       pMsg->message== WM_MOUSEMOVE)

       m_pToolTipCtrl.RelayEvent(pMsg);

    return CDialog::PreTranslateMessage(pMsg);

}

 

效果图:

  CtoolTipCtrl

若在树型控件中使用tool tip

参考:http://www.codeproject.com/treectrl/treetooltip.asp

 

 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值