带有mfc vc ++复选框的CFileDialog

问题描述 投票:1回答:1

我们想要创建一个带有Custom复选框的自定义CFileDialog。我可以在UI中获取CheckBox但不确定如何获得复选框检查状态作为回报。

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

这会打开带有复选框的filedialog,但我无法获得复选框选中状态。

visual-c++ mfc
1个回答
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);
}
© www.soinside.com 2019 - 2024. All rights reserved.