要取消按钮的焦点,可以使用CButton类的函数SetFocus()将焦点设置到其它控件上。具体步骤如下:
打开对话框类的头文件(通常是XXXDlg.h);
在对话框类的声明中添加成员变量,表示按钮控件的指针,例如:CButton m_btnCancel;
在OnInitDialog()函数中添加代码,获取按钮控件的指针,例如:m_btnCancel.SubclassDlgItem(IDCANCEL, this);
在OnInitDialog()函数的末尾,添加代码将焦点设置到其它控件上,例如:GetDlgItem(IDC_OTHER_CONTROL)->SetFocus()。
完整示例代码如下:
// XXXDlg.h文件class CXXXDlg : public CDialogEx{// ...CButton m_btnCancel; // 按钮控件的指针// ...};// XXXDlg.cpp文件BOOL CXXXDlg::OnInitDialog(){CDialogEx::OnInitDialog();// 获取按钮控件的指针m_btnCancel.SubclassDlgItem(IDCANCEL, this);// 将焦点设置到其它控件上GetDlgItem(IDC_OTHER_CONTROL)->SetFocus();return TRUE;}上述代码中,IDCANCEL是取消按钮的ID,IDC_OTHER_CONTROL是其它控件的ID。根据实际情况修改这些ID即可。

