主题:哭诉!!!控键能像数组一样控制吗?
xuanlanxie
[专家分:0] 发布于 2006-11-29 20:40:00
[em18]请问各位高人!!!我在一个窗口内有 32个静态文本statictext控键,每一个都会根据一个返回的数组x[32]所赋值,然后在窗口内显示,
例如statictext1 = x[0] , ..... , statictext32= x[31];
请问控键能像数组一样被引用吗? 就像 statictext[i] = x[i] 这样,需要怎样声明它们呢?拜托各位了,我为了赋值程序写的特别特别长,请帮我!!!
回复列表 (共5个回复)
沙发
gebowangzm [专家分:480] 发布于 2006-11-30 10:38:00
给你提供一个方便的方法(巧用控件的Tag属性):
1、在确保其他控件的Tag属性保持默认的前提下,将你的Statictext控件的Tag属性依次设置为101,102,103...132;
2、在为控件赋值的函数里,添加如下代码:
int i,m;
for(i=0;i<ControlCount;i++)
{
if(Controls[i]->Tag>100)
{
m=Controls[i]->Tag-101;
Statictext->Text=x[m];
}
}
板凳
gebowangzm [专家分:480] 发布于 2006-11-30 13:33:00
对不起,上面的回贴匆忙中出了点小差错。正确的代码如下:
int i,m;
for(i=0;i<ControlCount;i++)
{
if(Controls[i]->Tag>100)
{
m=Controls[i]->Tag-101;
Controls[i]->Text=x[m];
}
}
3 楼
tonggy [专家分:0] 发布于 2006-12-02 20:55:00
回帖中的程序在编译时出现错误:
[C++ Error] Unit1.cpp(27): E2247 'TControl::Text' is not accessible
4 楼
gebowangzm [专家分:480] 发布于 2006-12-03 12:41:00
我是估计楼主所指的控件具有Text属性(如TMemo、TComBox、TEdit等),如果相应控件没有Text属性,运行时肯定会出错。不过我提供的巧用控件的Tag属性,肯定可解决这类问题(如数据控件的AsString、AsFloat、Value等属性)。如果楼主对控件的Tab属性熟悉,也可通过设置控件的Tab属性达到同样的目的,实现方法如我的例子类似,不再重复。
5 楼
xuanlanxie [专家分:0] 发布于 2006-12-17 21:57:00
controls是怎样
指定为Edit控件的呢?
我来回复