我们想要创建一个带有Custom复选框的自定义CFileDialog。我可以在UI中获取CheckBox但不确定如何获得复选框检查状态作为回报。
CSpecialFileDialog: CFileDialog{
//constructor
}
//From Mainframe i am calling this dialog.
CSpecialDialog(TRUE);
这会打开带有复选框的filedialog,但我无法获得复选框选中状态。
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);
}