2011-04-15 45 views

回答

1

不是更容易我想。我不知道這是不是最好的解決辦法,但是這是我做過什麼:

BOOL MainDlg::PreTranslateMessage(MSG *pMsg) 
{ 
    if (pMsg->message == WM_KEYDOWN) 
    { 
    if ((pMsg->wParam == VK_F9)) 
     OnBnClickedButton1(); // Delete Item 
} 

    return CDialog::PreTranslateMessage(pMsg); 
} 

現在,每一次功能鍵F9被按下功能OnBClickedButton1()被調用。

4

用於基於對話框的應用程序。在資源編輯器中爲您的對話框創建一個IDR_ACCELERATOR1。並添加你想要的密鑰併爲你的對話框的密鑰創建一個事件。

在sampledlg.h請加

HACCEL m_haccel; 

在sampledlg.cpp在OnInitDialog()請加

m_haccel = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1)); 

在sampledlg.cpp在的PreTranslateMessage(MSG * PMSG)請加

if (m_haccel) 
{ 
    if ((::TranslateAccelerator(*this, m_haccel, pMsg))) 
    {  
     return(TRUE); 
    } 
}