如何将控件变量组合成数组?

mitterand 2009-08-28 06:13:37

现在有五个复选框,每个复选框关联一个值变量。
想把这五个变量组合成一个数组,是否可能以及如何具体实现?

3X
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mitterand 2009-09-13
  • 打赏
  • 举报
回复
如果要将控件和数组对应起来,就不要在wizard里面做,因为wizard需要输入变量名字,我们无法将一个数组成员定义为变量。

而是需要手动定义数组,而后在DoDataExchange将数组成员和控件对应起来。

用数组把相关控件组合起来,很方便,效率很高。


[Quote=引用 3 楼 liuchaotao 的回复:]
5个控件的ID设置成连续的(如IDC_START+0,...,IDC_START+4,),然后定义一个数组如 int m_piArray[5];
在函数DoDataExchange(CDataExchange* pDX)中加入
for(int i=0;i <5;i++)
  DDX_Text(pDX, IDC_START + i, m_piArray[i]);
[/Quote]
feilinhe 2009-08-28
  • 打赏
  • 举报
回复
5个不算多的,没必要那么做,无非多几行代码而已~
mitterand 2009-08-28
  • 打赏
  • 举报
回复
这个方法不好,产生了无谓的变量开销。

[Quote=引用楼主 mitterand 的回复:]
现在有五个复选框,每个复选框关联一个值变量。
想把这五个变量组合成一个数组,是否可能以及如何具体实现?

3X
[/Quote]
liuchaotao 2009-08-28
  • 打赏
  • 举报
回复
5个控件的ID设置成连续的(如IDC_START+0,...,IDC_START+4,),然后定义一个数组如 int m_piArray[5];
在函数DoDataExchange(CDataExchange* pDX)中加入
for(int i=0;i<5;i++)
DDX_Text(pDX, IDC_START + i, m_piArray[i]);
ziplj 2009-08-28
  • 打赏
  • 举报
回复
数组一定要用指针
ziplj 2009-08-28
  • 打赏
  • 举报
回复
先关联成变量 在新建一个数组 将这些变量赋值进去就可以了

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧