怎样在一个对话框中实现用Enter键代替Tab来改变对话框中各控件的焦点。

解决方案 »

  1.   

    添加此函数:
    BOOL CDlg::PreTranslateMessage(MSG* pMsg) 
    {
    if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
    {
    pMsg->wParam=VK_TAB;
    }
    return CPropertyPage::PreTranslateMessage(pMsg);
    }
      

  2.   

    return CPropertyPage::PreTranslateMessage(pMsg);
    更正:
    return CDialg::PreTranslateMessage(pMsg);
      

  3.   

    thank you very much
    对了
    我还想问一下
    我若要给分你们
    该怎样给你们
    再一次感谢
      

  4.   

    我kao,兄弟厉害,没事,能帮上忙就行!
      

  5.   

    感谢了哈
    不过我怎么给分后,出来的提示说,我给的分是0分,而贴子分是40分啦
    没有给成功是怎么回事
    ps:wade_vc,谢谢你了,我不是那种兢兢计较的人,只是我想吧这个用法搞清楚
      

  6.   

    BOOL CDlg::PreTranslateMessage(MSG* pMsg) 
    {
    if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
    {
    pMsg->wParam=VK_TAB;
    }
    return CDialg::PreTranslateMessage(pMsg);}做得好!我在VB/PB中都曾经实现了对消息的继承,用dispatch也曾将自定义函数改变了执行线路,这种方式还是很漂亮!受教了,Thank you!