[MFC]提示信息的添加CToolTipCtrl

本文详细介绍了在对话框模式下如何通过CToolTipCtrl类添加帮助信息,包括文字颜色、提示时间、宽度设置及复杂帮助模式的实现。同时,提供了工具栏、菜单、属性栏添加提示信息的方法,并展示了在View类中实现类似对话框模式的帮助提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基于对话框模式


添加如下代码:

Dlg.h中声明CToolTipCtrl对象

CToolTipCtrl m_ctrlTT;


Dlg.cpp中

在初始化对话框中添加

BOOL CDialogDlg::OnInitDialog()
{
...
        m_ctrlTT.Create(this);
	m_ctrlTT.AddTool(GetDlgItem(IDC_BUTTON1),_T("这是一个按钮"));
	m_ctrlTT.AddTool(GetDlgItem(IDOK),_T("这是确认按钮"));
	m_ctrlTT.AddTool(GetDlgItem(IDCANCEL),_T("这是取消按钮"));
	m_ctrlTT.SetTipTextColor(RGB(0,0,255));//设置文字颜色
	m_ctrlTT.SetDelayTime(TTDT_INITIAL, 10);//鼠标指向多久后显示提示,毫秒
	m_ctrlTT.SetDelayTime(TTDT_AUTOPOP, 30000); //鼠标保持指向,提示显示多久,毫秒
	m_ctrlTT.SetMaxTipWidth(200);//设定显示宽度,超长内容自动换行
...
}
然后在类向导中重载虚函数PreTranslateMessage

BOOL CDialogDlg::PreTranslateMessage(MSG* pMsg)
{
	// TODO: Add your specialized code here and/or call the base class
	if(m_ctrlTT.m_hWnd!=NULL) 
	{
		m_ctrlTT.RelayEvent(pMsg);
	}
	return CDialogEx::PreTranslateMessage(pMsg);
}

如果想要更复杂的帮助模式,可在PreTranslateMessage中添加。



二、单文档/多文档模式

1.给工具栏、菜单、属性栏等添加帮助信息。

以工具栏为例,方法如下:

在资源视图中,找到你要添加提示信息的控件,然后打开属性。


在Prompt中添加你要提示的信息即可。注意格式。

解释\n标题

解释除了弹出提示外,还会在状态栏显示。


这样,鼠标移到指定的图标上时候,就会显示你的提示信息。


2.给文档添加提示信息

如果想要在屏幕中央添加提示信息怎么办

类似于对话框模式,不过我们应该把代码放在View类中。

还记得生成project项目时自带的project.cpp projectDoc.cpp 和projectView.cpp吗

现在我们要在projectView类中添加和对话框模式一样的代码。



附带工具栏资源介绍

http://www.jizhuomi.com/software/215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值