社区
C++ Builder
帖子详情
急:可否动态创建一个已经在窗体上存在的控件,包括此控件的属性方法事件
大鸟的小天空
2003-11-11 10:55:48
动态创建的控件怎么来共用已经存在的控件的方法事件
...全文
73
14
打赏
收藏
急:可否动态创建一个已经在窗体上存在的控件,包括此控件的属性方法事件
动态创建的控件怎么来共用已经存在的控件的方法事件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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,就很容易在同一个事件中区分出不同的控件(按钮了)
2022年优秀-Web-服务器
控件
.pptx
事件
处理程序是响应特定
事件
的子程序,如Page_Load
事件
在页面加载时被触发。Page.IsPostback
属性
用于判断页面是否是由于用户提交数据而重新加载,这对于处理表单提交非常有用。ViewState是ASP.NET中一个重要的机制,...
2022年优秀-Web服务器
控件
培训教程3.pptx
例如,TextBox
控件
的Text
属性
用于获取或设置文本,TextMode
属性
可以设定输入框的样式,ReadOnly
属性
决定用户能否修改文本,AutoPostBack
属性
则控制是否在文本改变时立即回发页面。 **七、
事件
处理示例** 当用户在...
C#全能速查宝典
分别介绍了C#语言基础、Windows
窗体
及常用
控件
、Windows高级
控件
、
控件
公共
属性
、
方法
及
事件
、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的
属性
、
方法
、类和各种技术,...
窗体
的自动移动,倾斜移动。
通过改变这个
属性
,我们可以让
窗体
在屏幕上移动。 2. `Size`:表示
窗体
的大小,
包括
宽度和高度,也是一个Point类型。调整Size可以改变
窗体
的尺寸。 3. `TopMost`:布尔值,当设置为True时,
窗体
始终位于其他窗口的...
VC++设置
窗体
文本框
控件
的焦点
"VC++设置
窗体
文本框
控件
的焦点"这个话题涉及到如何确保窗口加载后,用户能够立即在特定的文本框中开始输入。以下将详细讲解这个过程及其相关知识点。 首先,MFC是微软提供的一套C++库,用于简化Windows API的使用...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章