VC提示框编程

本文介绍如何在VC6.0环境下使用Tooltip控件为对话框中的控件添加鼠标悬停提示信息,包括配置步骤及代码示例。

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

        当我们用VC的MFC大框架编程时,在单文档和多文档的程序中,当我们将鼠标放到系统提供的工具栏按钮,或菜单上时,系统会自动弹出一个小的提示框,给出此项功能的帮助或提示,非常友好,那在我们自己的程序中,如何实现此功能呢?本文将给出一个简单的编程实例。

其实VC有一个ActiveX的控件:Tooltip,正是为实现此功能而设计。具体编程实现:

一。用VC6.0生成一个基于对话框的工程。在对话框上放置以下控件,ID和字符如下:

          控件类型                ID               TEXT

静态文本  CStatic     ID_LABEL1       "Label"

单选按钮  CRadio    ID_RADIO1        "Radio1"

复选按钮  CCheck   ID_CHECK1       "Check1"

二。选择菜单  Project——Add To Project——Components and Controls ,

在打开文件对话框中,选择 Visual C++ Components目录,

选择添加Tooltips Support控件,

注意:在下面需要选择要把此控件加入的对话框,正确选择要加入的对话框,点击插入。完成。系统自动生成如下的消息响应函数和代码。

在OnInitDialog()函数中系统自动添加下面代码

m_tooltip.Create(this);

m_tooltip.Activate(TRUE);

添加PreTranslateMessage(MSG* pMsg)消息响应函数,和代码

BOOL CXv003Dlg::PreTranslateMessage(MSG* pMsg)

{   

m_tooltip.RelayEvent(pMsg);   

return CDialog::PreTranslateMessage(pMsg); 

}

以上都是系统自动生成的,编译执行程序,当我们把鼠标放到控件上时,并没有出现想要的提示框。别着急,还需要手动加入如下代码在OnInitDialog()中,在m_tooltip.Activate(TRUE);的后面。代码书写完整后的函数如下:

BOOL CXv003Dlg::PreTranslateMessage(MSG* pMsg)

 {    

        m_tooltip.RelayEvent(pMsg);    

       return CDialog::PreTranslateMessage(pMsg); 

}

BOOL CXv003Dlg::OnInitDialog()

{   

       m_tooltip.Create(this);   

      m_tooltip.Activate(TRUE);   

     CWnd*   pW;   

     pW = GetDlgItem(IDC_CHECK1);     

     m_tooltip.AddTool(pW,"Check1");       

     pW = GetDlgItem(IDC_RADIO1);     

     m_tooltip.AddTool(pW,"Radio1");         

     pW = GetDlgItem(IDC_BUTTON1);     

     m_tooltip.AddTool(pW,"Button1");         

     pW = GetDlgItem(IDC_LABEL1);    

     m_tooltip.AddTool(pW,"Label1");        

     return TRUE; 

}

编译执行,当把鼠标放到控件上时,就可以看到我们设定的提示字符了。

此程序在VC6.0,winxp系统下调试通过。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值