我们要创建一个带有自定义复选框的自定义CFileDialog。 我可以在用户界面中获取CheckBox,但不确定如何返回复选框的选中状态。
CSpecialFileDialog: CFileDialog{
//constructor
}
//From Mainframe i am calling this dialog.
CSpecialDialog(TRUE);
这将打开带有复选框的文件对话框,但我无法使复选框处于选中状态。
答案 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);
}