前几天在CSDN的BCB版有人问起这样的问题:“五个Button的OnClick事件对应改变五个Label的名称”,因为BCB没有控件数组,所以当时大家的回答大都是基于RTTI的,昨天在看《C++ Primer》的时候,忽然想起了标准库中的vector类型,我们用这个类型也可以实现控件数组。
今天试了一下,我把实验的过程写在这里。首先要包含头文件并,设置名字空间,声明变量。在MainForm.h中:
#include<vector>
using namespace std //标准库的名字空间
在Form1的public中声明 vector<TLabel *> test;
注意,这里我曾想用vector<TLabel*> test(5)的形式来初始化该数组,但BCB好象不支持这种形式,这方面的问题还有待解决。
然后在主窗体上加两个Button和一个Label(命名为testLabel),在Button1的事件中,初始化这个数组。
for(int i=0;i<5;i++)
{
TLabel * Label=new TLabel(this);
Label->Parent=Form1;
Label->Top=20*i;
test.push_back(Label);
}
test.push_back(testLabel);//测试数组是否可以包含静态生成的控件。这时的数组应该是包含6个成员变量。
在Button2中写入如下代码:
for(int i=0;i<test.size();i++)
{
test[i]->Caption="wolf"+AnsiString(i):
}
该例子通过对一个数组循环赋值来产生一个控件数组,并通过循环来操作这个数组。这里展示的仅仅是vector数据类型很粗浅的一种用法,C++的STL技术可以给我们的编程带来更大的自由和弹性。
以上代码在Win2000和BCB5环境中编译通过。
分享到:
相关推荐
bcb UDP传文件(使用TNMUDP控件) 利用重发机制实现 实现思路见我的博客
在BCB中使用ActiveX控件显示Flash动画!!!!
BCB6中ServerSocket控件的使用 & XRF日本理学荧光SMX14仪器数据采集 1、ServerSocket控件
bcb2010使用IdTCPClient和ip控件 实现简单发送接收
BCB6与BCB2006控件的安装的详细步骤
bcb串口mscomm控件错误编译运行错误修复工具集合c++builder
bcb下可用的COM控件,用起来特别方便!!
支持插图的文本编辑控件TOLERich源文件及BCB6例子, 此控件从一第三方控件精减而来,去掉了无用的部分。 你可以当控件一样安装,也可不用控件直接嵌入到你的程序工程中,提供了二种例子,并附带原编码。
BCB下基于MSComm控件的串行通信方法及实现,介绍了在bcb下如何加载MSComm控件,我找了好久.
这个控件是个人在网上找的在Delphi,BCB上使用的图片显示控件,支持达近300种图片切换效果。这个控件在本人的《触摸查询终端机客户端程序》是有使用,各位在下载《触摸查询终端机客户端程序》后没有这一控件的可在此...
raize是bcb与delphi的控件组,很不错哦 raize是bcb与delphi的控件组,很不错哦 raize是bcb与delphi的控件组,很不错哦 raize是bcb与delphi的控件组,很不错哦 raize是bcb与delphi的控件组,很不错哦raize是bcb与...
串口控件用于BCB5
Delphi BCB 经典老控件OutBar,现在网上资源太少了,有需要的拿去。 版本支持:D3到D7,C3到C6
BCB 窗体与控件 组件应用基础 常用事件 事件驱动编程(Event -Driven Programming)就是指通过对事件做出反应来进行编程 常用控件:单选钮和检查框 群组框和单选按钮组 列表框和组合框 等控件的属性方法及实例
本文档详细介绍了在C++Builder下如何安装Pas类型文件的控件
CTP 接口是上海中期进行期货交易开发的接口,基本的接口只提供了vc的C++接口,部分开源组织扩展为ActiveX接口,为了方便delphi和Bcb客户的使用,本人扩展成BCB和delphi的组件,可以在2010中正常使用,使用方便快捷。
通常都在VC上使用opencv,如何在BCB中使用opencv呢,这里告诉你详细的方法,完美实现。
简介Chart.js是一款不依赖任何外部js库的图表插件,具体的使用方法可查看Chart.js官网。需求 Chart.js并没有直接提供显…收藏帖子使用BCB开
TGifImage.v2.2.Full.Source.BCB.836077.rar
BCB中自制组件及安装(Ehlib 安装 for BCB6及用法).rar