我想在出现对话框后立即把焦点放在第一个Edit控件。
现在我在InitDialog中设置不起作用

解决方案 »

  1.   

    在WM_SHOWWINDOW中试试
    void CTestdlg3Dlg::OnShowWindow(BOOL bShow, UINT nStatus) 
    {
    CDialog::OnShowWindow(bShow, nStatus);

    CEdit* pedit=(CEdit*)GetDlgItem(IDC_EDIT);
    pedit->SetFocus();
    }
      

  2.   

    在InitDialog中要设置某个控件的焦点,必须返回FALSE
    BOOL CODBCLiborDlg::OnInitDialog()
    {
         CDialog::OnInitDialog();
         //……
         
         CButton* pButton = static_cast<CButton*>(GetDlgItem(IDC_BTN));
         ASSERT(pButton != NULL);
         pButton->SetFocus();     return FALSE;  
    }