出错提示:
CrLineXCDlg.cpp
D:\MyWorks\CrLineXC\CrLineXCDlg.cpp(116) : error C2601: 'OnHotKey' : local function definitions are illegal
D:\MyWorks\CrLineXC\CrLineXCDlg.cpp(126) : error C2601: 'OnDestroy' : local function definitions are illegal
Error executing cl.exe.CrLineXC.exe - 2 error(s), 0 warning(s)================================
代码:
在头文件里:
HICON m_hIcon; // Generated message map functions
//{{AFX_MSG(CCrLineXCDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonToRunCR();
virtual void OnOK();
//}}AFX_MSG
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam); DECLARE_MESSAGE_MAP()///////////////////////////////////////////////////////BEGIN_MESSAGE_MAP(CCrLineXCDlg, CDialog)
//{{AFX_MSG_MAP(CCrLineXCDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnButtonToRunCR)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
///////////////////////////////////////////////////////
void CCrLineXCDlg::OnButtonToRunCR()
{
//设置快捷键
RegisterHotKey(CCrLineXCDlg::m_hWnd,1001,MOD_CONTROL|MOD_ALT,'C');
RegisterHotKey(CCrLineXCDlg::m_hWnd,1002,MOD_CONTROL|MOD_ALT,'c');
LRESULT CCrLineXCDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if(wParam == 1001 || wParam == 1002)
{
MessageBox("12345678987"); //Do ...
}
return(0);
}
void CCrLineXCDlg::OnDestroy()
{
CDialog::OnDestroy();
// 解除热键
UnregisterHotKey(m_hWnd,10001);
UnregisterHotKey(m_hWnd,10002);
}
}
CrLineXCDlg.cpp
D:\MyWorks\CrLineXC\CrLineXCDlg.cpp(116) : error C2601: 'OnHotKey' : local function definitions are illegal
D:\MyWorks\CrLineXC\CrLineXCDlg.cpp(126) : error C2601: 'OnDestroy' : local function definitions are illegal
Error executing cl.exe.CrLineXC.exe - 2 error(s), 0 warning(s)================================
代码:
在头文件里:
HICON m_hIcon; // Generated message map functions
//{{AFX_MSG(CCrLineXCDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonToRunCR();
virtual void OnOK();
//}}AFX_MSG
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam); DECLARE_MESSAGE_MAP()///////////////////////////////////////////////////////BEGIN_MESSAGE_MAP(CCrLineXCDlg, CDialog)
//{{AFX_MSG_MAP(CCrLineXCDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnButtonToRunCR)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
///////////////////////////////////////////////////////
void CCrLineXCDlg::OnButtonToRunCR()
{
//设置快捷键
RegisterHotKey(CCrLineXCDlg::m_hWnd,1001,MOD_CONTROL|MOD_ALT,'C');
RegisterHotKey(CCrLineXCDlg::m_hWnd,1002,MOD_CONTROL|MOD_ALT,'c');
LRESULT CCrLineXCDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if(wParam == 1001 || wParam == 1002)
{
MessageBox("12345678987"); //Do ...
}
return(0);
}
void CCrLineXCDlg::OnDestroy()
{
CDialog::OnDestroy();
// 解除热键
UnregisterHotKey(m_hWnd,10001);
UnregisterHotKey(m_hWnd,10002);
}
}
{
if(wParam == 1001 || wParam == 1002)
{
MessageBox("12345678987"); //Do ...
}
return(0);
}
void CCrLineXCDlg::OnDestroy()
{
CDialog::OnDestroy();
// 解除热键
UnregisterHotKey(m_hWnd,10001);
UnregisterHotKey(m_hWnd,10002);
}
把这两个函数的定义放在void CCrLineXCDlg::OnButtonToRunCR()函数的外边
仍然存在2个问题:
第一:
Compiling...
CrLineXCDlg.cpp
D:\MyWorks\CrLineXC\CrLineXCDlg.cpp(219) : error C2509: 'OnDestroy' : member function not declared in 'CCrLineXCDlg'
d:\myworks\crlinexc\crlinexcdlg.h(14) : see declaration of 'CCrLineXCDlg'
Error executing cl.exe.CrLineXC.exe - 1 error(s), 0 warning(s)
================================
第二,我尝试着把出错的OnDestroy函数部分删掉,可以正常编译。
但是运行程序后,按ALT + c,没有任何响应。
这是什么原因呢?
新手问题,请多多包涵,再次感谢。