Last Updated 2002/04/24
Programming Tips Visual C++ MFC CFileDialog  索 引 
「開く」ボタンの変更
2002/04/24

CFileDialog の「開く」を他の文字列に変えるには以下の様にする.

CFileDialog から専用のクラスを派生する.
起動時に IDOK のコントロールに SetWindowText() してやればよい.
ファイルダイアログのタイプにより多少方法が異なる.

OFN_EXPLORER タイプだと OnInitDone() をオーバーライド

void CMyFileDlg::OnInitDone()
{
    CWnd    *pDlg = GetParent();        // これが必要
    CWnd    *pOK = pDlg->GetDlgItem(IDOK);
    pOK->SetWindowText(_T("開く以外"));
    // 副作用として親ウィンドウの相対位置 0, 0 に表示されてしまうので
    // 親ウィンドウの中央にする
    pDlg->CenterWindow();
}


古いタイプだと OnInitDialog() で

BOOL CMyFileDlg::OnInitDialog()
{
    BOOL    bRet = CFileDialog::OnInitDialog();
    CWnd    *pOK = GetDlgItem(IDOK);
    pOK->SetWindowText(_T("開く以外"));
    return bRet;
}


参照
「保存」ボタンの変更
前後のTips
「開く」ボタンの変更

DSS ProgrammingTipsCGI Ver2.02