15.10 更改选择文件对话框中的按钮文字
在默认情况下,使用CFileDialog可以用于打开一个文件或者保存一个文件,使用代码如下:
void CMFCDlg::OnOK() { //用于打开文件,省略了部分默认参数 CFileDialog dlg(TRUE); dlg.DoModal(); } |
效果如图15.5所示。
 |
| 图15.5 CFileDialog效果图 |
如果需要更改对话框中的按钮文字,则需要自定义一个CFileDialog类的子类,步骤如下:
(1)在工程中新建一个类CMyFileDialog,基类为CFileDialog。
(2)使用向导添加CMyFileDialog对WM_ INITDIALOG消息的响应,添加OnInitDialog函数。
(3)修改OnInitDialog函数的默认实现,例如下面的代码:
BOOL CMyFileDialog::OnInitDialog() { CMyFileDialog::OnInitDialog();
// TODO: Add extra initialization here CWnd* pOkButton = GetParent()->GetDlgItem(IDOK); if (pOkButton) { pOkButton->SetWindowText(_T("选择该文件")); } if(this->m_bOpenFileDialog) { GetParent()->SetWindowText(_T("要打开哪个文件?")); } else { GetParent()->SetWindowText(_T("保存到哪里?")); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } |
运行效果如图15.6所示。
 |
| 图15.6 修改后的CMyFileDialog效果图 |
注意:用同样的方法可以修改其他的通用对话框的默认属性。
【责任编辑:
夏书 TEL:(010)68476606】