DialogBox的回调函数怎么接收WM_KEYDOWN消息

DialogBox的回调函数如何接收WM_KEYDOWN消息
比如如下代码段,我想先显示DIALOGBOX出来,但是应该怎么写才能接收到WM_KEYDOWN消息呢?

C/C++ code

BOOL CALLBACK CalcDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
{
    DialogBox(hInstance, TEXT("CALCDIALOG"), NULL, CalcDlgProc);
}

BOOL CALLBACK CalcDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
   {
        case WM_KEYDOWN:
            //.......
    }
    ....
}



------解决方案--------------------
DialogBox 的对话框是永远也收不到 WM_KEYDOWN 消息的.
用非模态的对话框来模拟下模态对话框的行为吧.
------解决方案--------------------
只能试试SetWindowLong修改窗口一些属性了
------解决方案--------------------
模式对话框的WM_KEYDOWN消息的处理应该是windows接手了。
------解决方案--------------------
用CreateDialog()创建一个非模态对话框