c++ - 使用字符串来描述函数参数

标签 c++ mfc

我不确定这个问题的标题是否完全准确地描述了我正在尝试做的事情,但希望我能在这个描述中更好地解释自己。

我希望能够通过从 XML 文件中读取其 dwStyle 参数作为字符串来配置 CEdit 控件,即:-

CreateEx(   WS_EX_CLIENTEDGE,L"EDIT",L"",WS_CHILD|WS_VISIBLE,
                m_xPosition,m_yPosition,m_width,m_height,
                m_pParent->m_hWnd,( HMENU )m_resourceID );

在这种情况下,dwStyleWS_CHILD|WS_VISIBLE

我想做的是将这种样式作为字符串:

string dwStyleString = "WS_CHILD|WS_VISIBLE";

然后将此字符串用作 dwStyle 参数,但显然是以一种方式识别函数不应将其解释为字符串,而应将其解释为函数参数。

这很可能是不可能的,但希望有人能够提供帮助,或者可能建议另一种方法。

提前感谢您的任何回复,

戴夫

最佳答案

没有内置的方法,你必须自己做。使用 | 对字符串进行标记化作为分隔符,从子字符串中去除空格,确定每个子字符串的 int 值(跟进 sbi 的链接,但普通的旧 if-else-if 也可以),最后将所有值与按位或运算符组合。

关于c++ - 使用字符串来描述函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438648/

相关文章:

visual-c++ - 如何检测CListCtrl选择更改?

c++ - 如何使用自定义光标?

c++ - CUDA - 我每次都必须分配和释放内存吗?

c++ - 为什么从 char*** 到 char*const** 的转换无效?

c++ - 代码覆盖率 (Lcov) 错误地显示 100% 覆盖率

windows-7 - 如何修改 CEdit 控件的上下文菜单?

c++ - 什么需要在构造函数中,什么需要在 setter 函数中?

C++ 正确的内存释放没有关于分配的信息

visual-c++ - 将 AfxGetMainWnd 上的 C 风格系列转换从 VC6/MFC6 转换为在现代 MFC 版本(VC++2008 及更高版本)中运行

c++ - mfc c++ 计算结果为 9 后返回 1