原创 关于VC使用控件数组。

2010-2-23 00:31 4242 11 12 分类: 软件与OS

用过VB的知道,VB中控件数组的概念的确极大方便了编程。其实在VC中同样可以使用控件数组,但是是以起别名的方式来实现的。


最近做了一个对话框程序,由于静态文本(STATIC)比较多,所以考虑使用控件数组。控件数组在VC中的使用显然比在VB中麻烦些。现在以使用STATIC数组为例简单说一下。


在程序中使用11个STATIC,如果要做成数组,必须首先声明一个字符串数组:


CString str[11];


然后在DoDataExchange()函数中加入以下代码(BTW:此函数用于数据交换,一看名字就知道了):


 DDX_Text(pDX, IDC_T1, str[0]);
 DDX_Text(pDX, IDC_T2, str[1]);
 DDX_Text(pDX, IDC_T3, str[2]);
 DDX_Text(pDX, IDC_T4, str[3]);
 DDX_Text(pDX, IDC_T5, str[4]);
 DDX_Text(pDX, IDC_T6, str[5]);
 DDX_Text(pDX, IDC_T7, str[6]);
 DDX_Text(pDX, IDC_T8, str[7]);
 DDX_Text(pDX, IDC_T9, str[8]);
 DDX_Text(pDX, IDC_T10, str[9]);
 DDX_Text(pDX, IDC_T11, str[10]);


where,IDC_TX是文本ID。


当然这里有常见错误。


1、出现parsing error错误。检查此函数内的数据交换定义,看看是否破坏函数结构。


2、出现程序的非法操作(afx.inl错误)。检查控件ID名是否重复,定义是否重复,反正是一切重复都要避免。


另外本人有一个疑问,就是STATIC静态文本只能用DDX_Text进行定义,而不能使用DDX_Control,没有想清楚为什么。也请有经验人给予解答,谢谢!


 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户136423 2011-9-23 00:08

edit box 使用DDX_Control,定义数组时定义为CEdit型
相关推荐阅读
yoyowind 2010-02-23 00:31
3.3V RS-485收发芯片资料.
3.3V的系统越来越多了,不得不选用3.3V的外围芯片,458即可以选用MAX3485或MAX3490,附件是资料....
yoyowind 2010-02-23 00:31
彩票上的第一桶金。
昨天路过某彩票站,想想干脆买点吧,就买了5个七乐彩(30选7),晚上开奖,由于没时间就没看。今天中午看了看,发现选中了5个号,根据规定获得了5等奖,也就是用10块钱换到了50块钱。嘿嘿!有意思!其实买...
yoyowind 2010-02-23 00:31
[08.1.1纪念]新年选购衣服要点。
    本文只是抢个新年头帖,和技术文章真的是一点都不沾边。当然,没有作特别标注的,一定是原创。这篇也不例外。原创文章也是本博客最大特点,尽量避免去转载那些在网上已经传烂了的东西。    记得以前还有...
yoyowind 2010-02-23 00:31
关于PROTEL原理图。
其实PROTEL原理图是电路的一个原理,而不是布局。有人曾经问我这个硬件菜鸟,为什么在建SCH库的时候,芯片的引脚不是按顺序排列的。我回答如此。但是我想他一定很不服气,而且肯定在下决心说“我一定把我的...
yoyowind 2010-02-23 00:31
共识的济南车瞻最漂亮的车模,为什么呢?
是比亚迪F3的模特,当时特意拍了张,后来看其他车的时候,别人还说那模特比F3的差远了。...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条