(MFC)窗体屏蔽ESC、按钮添加信息提示

//说明:窗体屏蔽ESC只需要3

按钮添加信息提示则要1、2、3都有

1、

BOOL CDlgTEST::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO:  在此添加额外的初始化

...

InitContextHelp();

...
return TRUE;  // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}

2、

void CDlgTEST::InitContextHelp()
{
m_cShowHelp.Create(this);
m_cShowHelp.AddTool(GetDlgItem(IDC_BTN_SEARCH),"消息提示1");
m_cShowHelp.AddTool(GetDlgItem(IDC_BTN_CONV),"消息提示2");
m_cShowHelp.AddTool(GetDlgItem(IDC_BTN_TEST),"消息提示3");
m_cShowHelp.AddTool(GetDlgItem(IDC_START),"消息提示4");
m_cShowHelp.AddTool(GetDlgItem(IDC_BTN_RESTART),"消息提示5");
m_cShowHelp.SetDelayTime(TTDT_INITIAL,200); //设置延迟
m_cShowHelp.SetTipTextColor( RGB(0,0,255) ); //设置提示文本的颜色
m_cShowHelp.SetTipBkColor( RGB(255,255,208)); //设置提示框的背景颜色
m_cShowHelp.Activate(TRUE); //设置是否启用提示
}

3、

//重载虚函数:加入处理代码

BOOL CDlgTEST::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类

//监测按键事件
if(pMsg->message == WM_KEYDOWN)  
{  
switch(pMsg->wParam)  
{  
case VK_RETURN:     //屏蔽回车  
case VK_ESCAPE:     //屏蔽ESC  
return true;  
}  
}

//监测鼠标移动
if (pMsg->message == WM_MOUSEMOVE)
{
m_cShowHelp.RelayEvent(pMsg); //启用
}
return CDialog::PreTranslateMessage(pMsg);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值