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

来源:互联网 发布:单片机教程 编辑:程序博客网 时间:2024/05/18 01:46

//说明:窗体屏蔽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);
}


原创粉丝点击