CFileDialog与mfc vc ++中的复选框

时间:2019-02-21 15:46:58

标签: visual-c++ mfc

我们要创建一个带有自定义复选框的自定义CFileDialog。 我可以在用户界面中获取CheckBox,但不确定如何返回复选框的选中状态。

CSpecialFileDialog: CFileDialog{
 //constructor
}
//From Mainframe i am calling this dialog.
CSpecialDialog(TRUE);

这将打开带有复选框的文件对话框,但我无法使复选框处于选中状态。

1 个答案:

答案 0 :(得分:3)

Windows Vista和更新的Windows版本使用可以在Visual Studio 2008和更新的版本中访问的新API。您可以启用“视觉样式”(CFileDialog中的最后一个参数设置为TRUE

然后添加复选框和其他控件,如下所示:

CFileDialog dlg(TRUE, 0, 0, 0,
    L"All Files|*.*|" , this, 0, TRUE);

const int check_id = 101;
dlg.AddCheckButton(check_id, L"checkbox name", TRUE);

if (dlg.DoModal() == IDOK)
{
    BOOL check;
    dlg.GetCheckButtonState(check_id, check);
    TRACE(L"reading the value for check_id %d\n", check);
}
相关问题