给定一个包含组合框定义的资源文件,对于C ++ MFC程序,有没有办法以编程方式获取选项字符串?
在Visual Studio资源编辑器中定义对话框时,可以使用;
- 分隔字符串指定选项。这些字符串在哪里存储?我也理解在对话框初始化期间可以以编程方式将字符串添加到对话框中,获取它们是另一个故事。
尽管如此,我的问题是我无法访问对话框对象,在我希望获取选项字符串时它也不可见。这甚至可能吗?
答案 0 :(得分:3)
您可以为组合框或
创建成员变量CComboBox* pBoxOne;
pBoxOne = (CComboBox*) GetDlgItem(IDC_COMBO1);
CString str, str2;
int n;
for (int i=0;i < pBoxOne->GetCount();i++)
{
n = pBoxOne->GetLBTextLen( i );
pBoxOne->GetLBText( i, str.GetBuffer(n) );
str.ReleaseBuffer();
str2.Format(_T("item %d: %s\r\n"), i, str.GetBuffer(0));
afxDump << str2;
}
选项字符串存储在资源文件本身中。我添加了选项1; 2; 3,资源文件条目是
IDD_MFC_DIALOG_DIALOG DLGINIT
BEGIN
IDC_COMBO1, 0x403, 2, 0
0x0031,
IDC_COMBO1, 0x403, 2, 0
0x0032,
IDC_COMBO1, 0x403, 2, 0
0x0033
END