我想在对话框工程上做一个按钮,当按下时隐藏这个对话框,如何定义一个热键呼出被这个隐藏的对话框呢?

解决方案 »

  1.   

    看来需要用到钩子了!
    在button里面写
    ShowWindow(SW_HIDE)就藏起来了,然而,调出来,就费点劲,
    需要用钩子,截取你的按键,来操作你的程序!
      

  2.   

    重载主对话框的PreTranslateMessage虚函数然后填下如下的代码:
    if(pMsg->message == WM_KEYDOWN)
    {
    UINT nChar = (UINT)pMsg->wParam;
    if(nChar == VK_F2)
    {
    if(m_dlg.IsWindowVisible())
    {
    m_dlg.ShowWindow(SW_HIDE);
    }
    else
    {
    m_dlg.ShowWindow(SW_SHOW);
    }
    }
    }
    //m_dlg就是你要隐藏并且显示的对话框的类变量
      

  3.   

    算了,送你一个小例子吧.
    这纯粹是自己偷懒写得玩的,用来控制关机(关机程序就不提供给你了),和打开winamp的.可以自己设定快捷键.默认是
    *键  显示/隐藏主对话框,
    -键  打开关机程序,如果程序已经打开,则显示/隐藏关机对话框(此功能就不给你了)
    +键  显示/隐藏winamp当然可以自己设定http://www.7forever.com/c3d/study/owncontrol.rar