回 帖 发 新 帖 刷新版面

主题:哭诉!!!控键能像数组一样控制吗?

[em18]请问各位高人!!!我在一个窗口内有 32个静态文本statictext控键,每一个都会根据一个返回的数组x[32]所赋值,然后在窗口内显示,
例如statictext1 = x[0] , ..... , statictext32= x[31];
请问控键能像数组一样被引用吗? 就像 statictext[i] = x[i] 这样,需要怎样声明它们呢?拜托各位了,我为了赋值程序写的特别特别长,请帮我!!!

回复列表 (共5个回复)

沙发

给你提供一个方便的方法(巧用控件的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];
    }
  }

板凳

对不起,上面的回贴匆忙中出了点小差错。正确的代码如下:
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 楼

回帖中的程序在编译时出现错误:
[C++ Error] Unit1.cpp(27): E2247 'TControl::Text' is not accessible

4 楼

我是估计楼主所指的控件具有Text属性(如TMemo、TComBox、TEdit等),如果相应控件没有Text属性,运行时肯定会出错。不过我提供的巧用控件的Tag属性,肯定可解决这类问题(如数据控件的AsString、AsFloat、Value等属性)。如果楼主对控件的Tab属性熟悉,也可通过设置控件的Tab属性达到同样的目的,实现方法如我的例子类似,不再重复。

5 楼


controls是怎样
指定为Edit控件的呢?

我来回复

您尚未登录,请登录后再回复。点此登录或注册