说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何简单地把几个标准组件的组合封装成一个可以安装的新组件?

编辑:说三道四文库 发布时间:2017-02-23 01:13
HTML文档下载 WORD文档下载 PDF文档下载
我看到参考书都是在CPP文件里写代码,创建子组件,用代码安排布局。有没有象PB那样的对象画板,可以显示地安排子组件的布局和初始属性?我想要运行时生成TabSheet,每个TabSheet上都是几个Edit,Split,Statusbar的组合。
不要告诉我用“Create Componet Template”。
自然是采用类的聚合
比如:
//---------------------------------------------------------------------------
#ifndef PictureSelectorH
#define PictureSelectorH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
const String Strings[] = {
  "handshak.bmp",
  "factory.bmp",
  "chemical.bmp",
  "shipping.bmp",
  "finance.bmp"
};

class PACKAGE TUnlPictureSelector : public TWinControl
{
private:
  TComboBox* FComboBox;
  TImage* FImage;
protected:
  void __fastcall ComboBoxClick(TObject* Sender);
  virtual void __fastcall CreateWnd();
public:
  __fastcall TUnlPictureSelector(TComponent* Owner);
};
//---------------------------------------------------------------------------
#endif


//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "PictureSelector.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//

static inline void ValidCtrCheck(TUnlPictureSelector *)
{
  new TUnlPictureSelector(NULL);
}
//---------------------------------------------------------------------------
__fastcall TUnlPictureSelector::TUnlPictureSelector(TComponent* Owner)
  : TWinControl(Owner)
{
  Width = 240;
  Height = 205;
  FComboBox = new TComboBox(this);
  FComboBox->Left = 0;
  FComboBox->Top = 0;
  FComboBox->Width = 150;
  FComboBox->Style = csDropDownList;
  FComboBox->OnClick = ComboBoxClick;
  FComboBox->Parent = this;
  FImage = new TImage(this);
  FImage->Left = 0;
  FImage->Top = FComboBox->Height;
  FImage->Width = Width;
  FImage->Height = Height - FComboBox->Height;
  FImage->Parent = this;
}
//---------------------------------------------------------------------------
void __fastcall TUnlPictureSelector::CreateWnd()
{
  TWinControl::CreateWnd();
  if (!ComponentState.Contains(csDesigning)) {
    for (int i=0;i<6;i++)
      FComboBox->Items->Add(Strings[i]);
    FComboBox->ItemIndex = 0;
    ComboBoxClick(0);
  }
}

void __fastcall TUnlPictureSelector::ComboBoxClick(TObject* Sender)
{
  int index = FComboBox->Items->IndexOf(FComboBox->Text);
  FImage->Picture->LoadFromFile(Strings[index]);
}
//---------------------------------------------------------------------------


其实我的意思是可视化安排布局,比如里面封装一个StatusBar,用属性编辑器可以方便地分割Panel,不用程序一条一条写。不过看来没这摸好的事。你写的方法我会,只是,不知“类的聚合”是什么意思?
就是组合类的意思
微软无视W3C 拒绝遵循WebRTC标准 Linux下使用MongoDB+GridFS实现备份作业的优化和监视 AWS建新数据中心 老用户获益不易 铜导线退出历史舞台 激光传导速度将达100G bps 大众点评推出首个O2O开放者平台:高德、盛大加入 从APM角度上看:NoSQL和关系数据库并无不同 新浪微博商业化:大树底下真的好乘凉吗? 亲爱的GitHub,我们怎么访问不了你? 经典神作《魂斗罗》iOS版今日上线 专访最强夫妻店:“神庙逃亡2”开发背后的故事 我们做错了什么?3周了,一毛钱也没赚到! 开源产品系列:简单强大的模板语言JSON Template 十年历史的KDE bug修复 为什么函数式编程在Java中很危险? Android平台获X11协议支持,手机变身绘图板 Rackspace通过OpenStack和定制OCP服务器节省40%成本 美国人是如何利用大数据的应用来防止流感的蔓延 W3C北航总部成立:招兵买马增强中国标准声音 Mozilla推出开发者预览版Firefox OS智能手机 强强联合?传微软投30亿参与Dell私有化 微软发布Windows Phone 7.8 SDK更新 Amazon账号将支持内付费 道具可登畅销榜 裸照门:500px应用被苹果踢出App Store APP的魔法:三个杭州小伙做手游吸金千万 Facebook与Google,巨人们将在移动端决胜负 移动广告量起来了!2013年绩效营销将成主流 Fedora欲以MariaDB取代MySQL 将节能进行到底:Facebook为冷存储寻求廉价闪存 谷歌Q4财报净利润28.86亿美元 超分析师预期 社交媒体的力量:Wood Camera登上iOS付费榜首之谜 屏蔽GitHub是互联网时代的“闭关锁国”吗? 关于pb的报表问题 callback (回调函数)什么时候会被系统所调用??????? 征求木马程序思想(可用分5817可惜最多只能给110) 请帮忙改改这条SQL语句(SQL SERVER7) 如何操作Printer对象时设置自定义纸张 调查:请问大家编码时是不是严格按照标准风格来写(比如大小写,缩进,变量命名等)? 这是不可能完成的任务吗?? ●本科明年毕业的xdjm们,找到工作了吗,试用期月薪多少?我找到厦门某公司,才1900啊● vbscript的转义符是什么? 哪位大哥可以推荐几本好书? "控制面板”不见了 请大家帮忙解决一下!!!!!!!!谢谢! 两个oracle的问题! 谁有这本手册:TI80486DX2 processor SMM programming DataReportPlus的作者,进来帮帮忙~~~ 寻找一个功能强大的实时曲线绘制控件,全分答谢!!!!! Win2000和Linux作网关共享上网,谁优谁劣??? 在哪有人气旺的php论坛或者把你们的QQ帖出来也可以 哪里有c++习题与解析 电子版下载。。。 关于dialog 大虾们,帮帮忙!如何在vc的环境下进行c++的程序(把c++的程序写在vc中)! 是我错了吗? 高分,高手 请教显卡BIOS的资料,如何对它进行读写操作 Delphi6与Delphi5之间的一个难以解决的问题 好消息:程序员大本营中的汇编资料真的不错! IE刷新问题 特别感谢:weixxxp(想一想),bluepower2008(蓝色力量),Haiwer(海阔天空)等先生的帮助。我的程序基本完成了。就是谈价钱方面,小弟还请各位帮个忙。 vc.net与vc有什么区别? 请问各位大虾!小键盘的键值各是多少呀(16近制) 路由器 各位高手请进来!!! 那位大哥有PB下用于控制打印机自定义纸张大小的函数?小弟急用!先谢过了! 学VC好难! 急诊++++++ 关于mouse_event的问题。 怎样返回一个数组??——急! 资源管理器里面没有内容 偶会ACCESS,VFP,熟悉VC,有推荐的单位吗?做毕业设计也行 请问VB中如何将含有picturebox的窗体打印出来? 请教高手,一个派生类的问题 怎么用代码改变本地机的系统时间? 有谁玩过在ie中调word吗?高分相赠呀! 高手们救命呀!! 如何得到NEOPLANET风格的界面代码? 紧急请教:音量大小调整如何编?????????????? 关于double类型为null的问题。 我的Win2000突然控制台的默认值变成全屏了,请问如何改回窗口模式 我的IE浏览网页的时候,在输入框中无法输入任何东东,怎么解决? 如何让工具栏按钮按下后不弹起来?如何做到一个TOOLBAR对应一个MENUITEM,由菜单来控制TOOLBAR的隐现? VB没市场了吗? 关于EditMask的问题,是PB的Bug吗? (一道化学难题)在一个容积固定的反应器中,有一可左右滑动的密封隔板,两侧分别进行如下图所示的可逆反应在一个容积固定的反应器中,有一可左右滑动的密封隔板,两侧分别进行如下图所 为什么增加反应物浓度 活化分子百分数不变我百度了很多, 1kg/m3等于多少 t/m3 理想连续操作管式流动反应器内浓度是如何变化的? 怎么去除铁上的锈?铁钉上的 全国硅胶硫化剂哪家做得好的? 工艺流程图中的反应器、塔器都是怎么插入的啊? 如何去掉铁上的锈 比较铝、铜、铁三种金属活动性顺序>? 流化床反应器的特点是什么 有什么办法可以把生锈的铁上的锈绩去掉?我最早的那把双节棍铁链的那里已经全部生锈了转动很难了 不像以前那样灵活 我用砂纸擦过 但没用 过两天又生锈了!有什么办法可以搞到它 而不反 人类历史上最早使用的金属材料是什么金还是铜?好像金稳定一些………… 仿真流化床反应器求仿真系统中的温度控制 尤其是70度的那个有操作步骤最好一关了蒸汽后温度就一直在增加怎么办? 1平方米的石头等于多少吨 金属材料中常见的晶体结构有哪几种?纯铁,铝,铜,镁各属于哪种晶体结构? 固定床反应器和 流化床反应器的区别 以及优点是什么? 一块石头,棱长是5dm,每立方米的石头大约重2.7吨,这块石头大约重多少㎏? 10000除以2等于几啊 不学的 什么是|"固定床电化学反应器"? 一块石头是正方体,棱长为2米,如果每立方米的石头大约重2.7吨,这块石头重多少吨? 一尺等于10寸几年级学的 观察下列等式:1的立方=1的平方,1的立方+2的立方= 3的平方,1的立方+2的立方+3的立方=6的平方再利用这一规律计算:1的立方+2的立方+3的立方+4的立方+…100的立方的值. 硅胶硫化剂的添加量一般是多少 铁、铜等金属材料可做炊具, 化学齐普反应器原理 硅胶餐具用哪些硫化剂最好? 一千克等于多少立方厘米 已知下列等式:1的立方=1的平方 1的立方+2的立方=3的平方 1的立方+2的立已知下列等式:1的立方=1的平方 1的立方+2的立方=3的平方 1的立方+2的立方+3的立方=6的平方.由此规律可知,第五个等式 谁有硅胶硫化剂配方? 铝块能否被磁铁磁化,被磁化的物体是镍,钴铁等,有什么要求被磁化的物体是镍,钴铁等,对于这些物体有什么要求,为什么 说说人们在日常生活中防止铁制品生锈的方法(4种),并说其中的科学道理 谁有生活妙招~包包上的铁饰生锈了,怎么方便妙招去铁锈?别说用硫酸什么的化学药品,有啥平常用品就能去铁锈的 铁为什么能磁化?磁铁为什么能磁化铁? 铁为什么生锈后对生活的影响! 什么方法能让铁不生锈 那些金属材料是可以被磁化的?我知道不是所有的材料都可以被磁化,那问题是铸钢材料可以被磁化吗?比如像:ZG40Ni35Cr25Mb,ZG30Cr25Ni20,ZG45Ni35Cr25NbM一类的,如果可以磁化,那磁化效果如何?需要什么 铁制品生锈的原因可能是: 有没有使铁不生锈的简单方法 为什么铁容易被磁化而铜不能被磁化?金属被磁化的能力与什么有关? 活化分子百分数的定义是什么?为什么浓度升高,活化分子百分数不变?PS.知道上有人问过, 医用硅胶用何种硫化剂 为什么铁能被磁化而铜、铝不可以?从微观结构或物理的角度来回答 升高温度,活化分子百分数增大吗?为什么不能说活化分子数增多? 一立方米是不是等于一吨? 什么是三位换向阀的滑阀机能?分别有哪几种? 说明方法有哪些 加注明意思 活化分子百分数和活化分子有什么区别? 1立方米等于1吨吗 下列建筑材料最不易被酸雨腐蚀的是()A.钢 B.铜 C.铝合金 D.大理石 温度和催化剂可以改变活化分子百分数,那什么条件能改变活化分子数?如何变化? 请写出日常生活中防止铁制品生锈的方法,并说明其中的道理 两块一样重的合金,一块合金中铜和铝的质量比是2:5,另一块合金中铜...两块一样重的合金,一块合金中铜和铝的质量比是2:5,另一块合金中铜和铝的质量比是1:2.现将两块合金合成一块,求新 0.25的平方/(-2又2/1)+(11又8/3+2又3/1-13.75)*24-[(-0.2)的立方/1]0.25的平方后的/是除号,其他的都是分数123又40/39方法不要太难的那种,我订正了好多遍都不对 说说人们在日常生活中防止铁制品生锈的方法(3.种),并说其中的科学道理!(要自己想的) 钢材;木材;铜;铝合金;大理石,其中属于纯净物的是————,属于合金的是———. 反应加入催化剂和提升温度 可以增加活化分子百分数 那么活化分子浓度增加吗? 人们日常生活中防止铁制品生锈的方法(至少四种)快 egsb反应器图纸 家里一些常用的铁制品生了锈,应怎样去除 20亿m3等于多少m3
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn