急:可否动态创建一个已经在窗体上存在的控件,包括此控件的属性方法事件

大鸟的小天空 2003-11-11 10:55:48
动态创建的控件怎么来共用已经存在的控件的方法事件
...全文
63 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Veeve 2003-11-11
  • 打赏
  • 举报
回复
还是我的方法简单、安全
vargent77 2003-11-11
  • 打赏
  • 举报
回复
assign()主要是把assign(内容)的内容赋给原来的。特别是,你要保护原来创建的指针时,要保留!不然delete的时候有问题
Veeve 2003-11-11
  • 打赏
  • 举报
回复
assign()方法也许也可以的,不过我没用过。
jiangchun_xn 2003-11-11
  • 打赏
  • 举报
回复
assign
大鸟的小天空 2003-11-11
  • 打赏
  • 举报
回复
哦,必须这样一个一个赋值吗?谢谢.^_^
Veeve 2003-11-11
  • 打赏
  • 举报
回复
TComboBox *cb2 = new TComboBox(this);
cb2->Parent = cb1->Parent; //cb1为窗体上已经存在的TComboBox控件
cb2->Left = cb1->Left;
cb2->Top = cb1->Top;
cb2->Width = cb1->Width;
cb2->Height = cb1->Height;
for (int i=0;i<cb1->Items->Count;i++)
{
cb2->Items->Add(cb1->Items->Strings[i]);
}
//其他属性同样的方法赋值

cb2->OnClick = cb1->OnClick;
//其他事件同样的方法赋值
Veeve 2003-11-11
  • 打赏
  • 举报
回复
TButton *btn2 = new TButton(this);
btn2->Parent = btn1->Parent; //btn1为窗体上已经存在的TButton控件
btn2->Left = btn1->Left;
btn2->Top = btn1->Top;
btn2->Width = btn1->Width;
btn2->Height = btn1->Height;
btn2->OnClick = btn1->OnClick;
大鸟的小天空 2003-11-11
  • 打赏
  • 举报
回复
谢过楼上的兄弟,不过我想要的是创建一个已经存在的控件,比如TComBoBox,其中已经有Item了,创建一个跟已经存在的一摸一样的东东,就像copy了一份一样.包括事件属性等信息
jEditor 2003-11-11
  • 打赏
  • 举报
回复
以上,有一个按钮oldBtn,它的点击事件是oldBtnClick,新长生的
按钮newBtn,设置Form1为父体,位置左10,上30。
共享按钮oldBtn点击事件是oldBtnClick;
jEditor 2003-11-11
  • 打赏
  • 举报
回复
TButton *newBtn = new TButton(this);
newBtn->Parent = Form1;
newBtn->Left = 10;
newBtn0->Top = 30;
newBtn->OnClick = oldBtnClick;
踏岸寻柳 2003-11-11
  • 打赏
  • 举报
回复
直接指定即可。
需要注意的是,事件句柄的参数要保持一致。

如:

Button1->OnClick = MyClick;

void __fastcall TForm1::MyClick( TObject *Sender )
{
//...
}
yjy1001 2003-11-11
  • 打赏
  • 举报
回复
创建的时候 要把 onclick事件也 赋过去。
btn[i]->OnClick = BtnClick;
yjy1001 2003-11-11
  • 打赏
  • 举报
回复
TButton* btn[10];
for(int i=0;i<8;i++){
btn[i]=new TButton(this);
btn[i]->Parent=this;
btn[i]->Top=20;//可以调整
btn[i]->Left=30*i;//
btn[i]->Tag=i;//设置 不同的tag
}
在 他们共同的 事件中写:
int i,tmpTag=((TButton*)Sender)->Tag;
switch(tmpTag){
case 0:
break;
case 1:break;
case 2:
.........
case 3:
........
case 4:
.....
}
自己往里面添内容 就可以了
yjy1001 2003-11-11
  • 打赏
  • 举报
回复
newBtn->OnClick = oldBtnClick;
只要 在 oldBtnClick;里 通过((TButton*)Sender)->Name 或是->Caption 或是 ->Tag来区分点击的是哪个按钮 就可以了

一般我用tag 来区分,只要在创建 按钮的同时,修改它的tag,就很容易在同一个事件中区分出不同的控件(按钮了)
WPS Office 2019 是一款功能丰富的办公软件套装,它整合了文字、表格、演示、PDF 等组件,具备体积小巧、功能丰富、兼容性强等特点,能满足日常办公的多种需求。 功能组件丰富:包含 WPS 文字、WPS 演示、WPS 表格、WPS PDF 等组件,可用于文档编辑、表格计算、幻灯片制作、PDF 处理等,支持 DOC、DOCX、XLS、XLSX、PPT 等多种格式,能与 Microsoft Office 较好地兼容。 支持云存储与协作:用户登录 WPS 账号后,可实现多终端、跨平台的数据同步,还能与他人协同办公,文档可通过微信、QQ 等社交平台一键分享。 PDF 功能强大:提供沉浸式 PDF 阅读体验和稳定的编辑服务,支持一键编辑 PDF 文档内容。借助 OCR 技术,可精准转换文档、表格、PPT、图片等格式的文件。 界面设计优化:具有全新视觉设计,默认皮肤舒适清爽,还支持桌面背景、界面字体、皮肤、格式图标等个性化设置。同时,文档标签可拖拽成独立窗口或合并,用户可自主选择文档显示方式,还能将文件放置在不同工作区,便于分类浏览与管理。 内置实用工具:内置了简单的网页浏览器,点击文档中的链接会默认用其打开,可进行网页添加到首页、另存为 PDF 等操作。此外,“应用中心” 集成了输出转换、文档助手、安全备份等多种实用功能。 模板资源丰富:稻壳商城提供了大量模板、范文、图片等素材资源,涵盖求职简历、总结计划、合同协议等常见文档类型,方便用户快速创建专业文档。 表格功能特色突出:支持通过关键词快速切换工作表,设有阅读模式和护眼模式。还可分类合并单元格,以及拆分合并单元格并填充内容。公式编辑器中可轻松完成公式嵌套,筛选时可通过 “仅筛选此项” 一步完成特定值筛选,还能根据筛选条件生成动态分析图表。另外,“特色功能” 和 “智能工具箱” 菜单中包含 PDF

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧