我用这个代码来获取程序的按f1的状态switch(pMsg->wParam )
{
case VK_F1:
AfxMessageBox("F1");//这里添加你的代码}
但是mess过后,总要显示找不到*.hlp文件,我如果屏蔽这个

解决方案 »

  1.   

    你这是在什么函数里面?PreTranslateMessage里?那就
    return 1;
      

  2.   

    switch(pMsg->wParam )
    {
    case VK_F1:
    return TRUE;}
      

  3.   

    OOL CListDemoDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    switch(pMsg->message)
    {
    case WM_PRINTDELIVER:
           break;
    }
    switch(pMsg->wParam )
    {
    case VK_F1:
                return TRUE;
    //AfxMessageBox("F1");//这里添加你的代码
              break;}
    一样的,要弹出来,hlp
      

  4.   

    App对应的cpp文件里
    BEGIN_MESSAGE_MAP(CTestApp, CWinApp)
    END_MESSAGE_MAP()
    之间有这么一行
    ON_COMMAND(ID_HELP, CWinApp::OnHelp)
    删除就可以了。前面return 1;就不需要了。不过如果不想让程序收到F1的按键消息还是需要return 1;
      

  5.   

    在主对话框中添加WM_HELPINFO消息,在相应的函数内不执行MFC代码,直接返回就可以了
    BOOL CXXDlg::OnHelpInfo(HELPINFO* pHelpInfo) 
    {
    // TODO: Add your message handler code here and/or call default
    return TRUE;
    // return CDialog::OnHelpInfo(pHelpInfo);
    }