这个错误是什么意思?1>.\dDlg.cpp(301) : error C2440: “static_cast”: 无法从“void (__thiscall CDDlg::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
1>        在匹配目标类型的范围内没有具有该名称的函数
定位 为 ON_MESSAGE(WM_HOTKEY,OnHotKey)

解决方案 »

  1.   

    定义OnHotKey 时,返回值用HRESULT
      

  2.   


    ON_MESSAGE(WM_HOTKEY,OnHotKey)
    void CDDlg::OnHotKey(WPARAM wp,LPARAM lp)
    {
    if(wp==199)
    {
    if(IsWindowVisible())
    ShowWindow(SW_HIDE);
    else
    ShowWindow(SW_SHOWNORMAL);
    }
    }//  #include "dDlg.h"afx_msg void OnHotKey(WPARAM wp,LPARAM lp);
      

  3.   

    //  #include "dDlg.cpp" ON_MESSAGE(WM_HOTKEY,OnHotKey) 
    void CDDlg::OnHotKey(WPARAM wp,LPARAM lp) 

    if(wp==199) 

    if(IsWindowVisible()) 
    ShowWindow(SW_HIDE); 
    else 
    ShowWindow(SW_SHOWNORMAL); 

    } //  #include "dDlg.h" afx_msg void OnHotKey(WPARAM wp,LPARAM lp);  是把上述代码中的 void 替换成 HRESULT 吗?
      

  4.   

    afx_msg HRESULT OnHotKey(WPARAM wp,LPARAM lp);
      

  5.   

    afx_msg HRESULT OnHotKey(WPARAM wp,LPARAM lp);
      

  6.   

    error C2371: “CDDlg::OnHotKey”: 重定义;不同的基类型
    改 了头文件 出现地下错误
      

  7.   

    你cpp实现中函数返回值也要加上HRESULT
      

  8.   

    cpp 文件中修改后出现如下错误error C4716: “CDDlg::OnHotKey”: 必须返回一个值
      

  9.   

    那函数的返回值也要换成HRESULT的吗
      

  10.   

    LRESULT CDDlg::OnHotKey(WPARAM wp,LPARAM lp)
    {
    if(wp==199)
    {
    if(IsWindowVisible())
    ShowWindow(SW_HIDE);
    else
    ShowWindow(SW_SHOWNORMAL);
    }
    } 改了 就出现error C4716: “CDDlg::OnHotKey”: 必须返回一个值
     错误
      

  11.   

    你返回一个值啊,return S_OK;