阅读量:11
要取消按钮的焦点,可以使用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即可。