【MFC】按钮提示功能的实现

假设在CDlg**中有一控件IDC_EDIT_A,想要鼠标指向该控件时提示,步骤如下:


1、CDlg**头文件中声明成员变量
CToolTipCtrl m_tooltip;


2、CDlg***::OnInitDialog() 中创建并设置参数
m_tooltip.Create(this);


//CToolTipCtrl与控件关联
m_tooltip.AddTool(GetDlgItem(IDC_EDIT_A), TTS_ALWAYSTIP);//当鼠标指向IDC_EDIT_A控件显示提示
//若如是句柄可以用FromHandle(hwnd)替换 GetDlgItem(IDC_EDIT_A)


//文字颜色
m_tooltip.SetTipTextColor(RGB(0,0,255));


//鼠标指向多久后显示提示,毫秒
m_tooltip.SetDelayTime(TTDT_INITIAL, 10); 


//鼠标保持指向,提示显示多久,毫秒
m_tooltip.SetDelayTime(TTDT_AUTOPOP, 30000); 


//设定显示宽度,超长内容自动换行
m_tooltip.SetMaxTipWidth(200);


3、重写PreTranslateMessage,增加以下内容:
if(m_tooltip.m_hWnd!=NULL) 
{
 m_tooltip.RelayEvent(pMsg);
}


4、在需要的地方动态更新tip内容
m_tooltip.UpdateTipText(str, FromHandle(hwnd));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值