社区
C++ Builder
帖子详情
一个疑问,请教高手
imickey
2005-01-12 11:31:08
在动态生成一个组件的时候,我发现一般有三种方法,以TButton为例
1. TButton *tmp = new TButton (this);
2. TButton *tmp = new TButton (NULL);
3. TButton *tmp = new TButton (Application);
请教这三种有什么区别?
...全文
124
12
打赏
收藏
一个疑问,请教高手
在动态生成一个组件的时候,我发现一般有三种方法,以TButton为例 1. TButton *tmp = new TButton (this); 2. TButton *tmp = new TButton (NULL); 3. TButton *tmp = new TButton (Application); 请教这三种有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjy1001
2005-01-14
打赏
举报
回复
咳
这么多人重复啊……
从横四海
2005-01-14
打赏
举报
回复
up
过客猫2022
2005-01-14
打赏
举报
回复
很多人讲得都正确!我就不讲了:)
Maconel
2005-01-13
打赏
举报
回复
那是因为TButton的构造函数有3个重载,用NULL做参数的话,就会分不清到底是用的是
TButton(TComponent* AOwner);还是
TButton(void* ParentWindow);
解决方法是写清楚:
TButton* tmp = new TButton((TComponent*)NULL);
或者
TButton* tmp = new TButton((void*)NULL);
imickey
2005-01-13
打赏
举报
回复
但我在用TButton *tmp = new TButton (NULL);的时候,为什么报错呢?
Maconel
2005-01-13
打赏
举报
回复
补充一下,不是父组件不同,是owner不同,
owner和parent是不一样的。
如果你不自己手动释放tmp,那么你指定的owner在被释放时,会替你释放tmp。
parent是指明tmp放在谁的上边,只是显示的问题。
wilsonloveada
2005-01-13
打赏
举报
回复
其实就是他们的父组件不同
TButton *tmp = new TButton (this); 最后在this里释放这个资源,如果是VCL会帮你管理
TButton *tmp = new TButton (Application); VCL帮你管理
TButton *tmp = new TButton (NULL); 你要自己释放
tmp=NULL;
delete tmp;
3996906
2005-01-13
打赏
举报
回复
指定动态创建的管理类,也就是父组件
TButton *tmp = new TButton (this); 最后在this里释放这个资源,如果是VCL会帮你管理
TButton *tmp = new TButton (Application); VCL帮你管理
TButton *tmp = new TButton (NULL); 你要自己释放
csrwgs
2005-01-13
打赏
举报
回复
看各类的构造函数了
我不懂电脑
2005-01-13
打赏
举报
回复
Creates and initializes a TButton instance.
__fastcall virtual TButton(Classes::TComponent* AOwner);
__fastcall TButton(HWND ParentWindow) : Stdctrls::TButtonControl(ParentWindow) { }
Description
Use TButton indirectly, using the new keyword, to programmatically instantiate a button. Buttons added in the form designer are created automatically.
AOwner is the component that is responsible for freeing the button instance. It becomes the value of the Owner property.
ParentWindow is the handle to a non-VCL window that hosts the button control This syntax is used, for example, when exporting the button from a dll.
jemyzhang
2005-01-13
打赏
举报
回复
其实就是他们的父组件不同
Javpp
2005-01-12
打赏
举报
回复
括号里的参数类型可以是如下几种,CB里看到的:
TComponent *AOwner;
void * ParentWindow;
const TButton &(如果生成的是TButton)
不用说了吧,感觉这个参数象个容器.
tec控制pid程序_PID温度控制程序的
一个
疑问
关于PID温度控制,在网上找了个程序,看了看有个问题弄不懂,
请教
各位
高手
,就是下面程序中的最后几行,当实际温度大于等于设定温度时,应该就关闭加热了,hightime应该等于0啊,但为...关于PID温度控制,在网上找了个程序,看了看有个问题弄不懂,
请教
各位
高手
,就是下面程序中的最后几行,当实际温度大于等于设定温度时,应该就关闭加热了,hightime应该等于0啊,但为什么会出来如下这几行,搞不懂。...
c语言错误c4047,
请教
几个c语言的基础问题
该楼层疑似违规已被系统折叠隐藏此楼查看此楼做了几道题目,对以下几道有些
疑问
,
请教
高手
:若有以下定义和语句:char **s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()答案是4我用vc6.0写了以下程序:#include#includevoid main(){char **s1="12345",*s2="123...
一年成为Emacs
高手
(像神一样使用编辑器)
简介 成为
高手
很容易. 我初学Emacs时常忘记”退出”的快捷键, 一年后我完全掌握了Emacs. 一些文章强调Emacs有多牛, 但关于”如何做”则语焉不详. 即使涉及到”如何做”, 谈细节多而方法论少. 很多人花了大量时间”学习”Emacs却最终放弃,就是过于拘泥细节,而方法论上出了问题. 例如,背很少用到的快捷键会让初学者有很大的挫折感.花太多的时间,好不容易记住的快捷键很容易忘记.
一个
月勉强记住50个快捷键后算很厉害了.但是Emacs可以配置快捷键的命令近7000个.如果记住所有快捷键等同于掌握Em
从初学者到编程
高手
,几种必学的编程语言
『从初学者到编程
高手
,几种必学的编程语言』 我自己在学习编程的过途中有的几个
疑问
,1)什么编程语言我需要学。 2)学多少种才算可以。最后通过我自己学习感受和对其他编程
高手
(主要是新闻组)的
请教
,我认为找到了满意我的答案。抛砖引玉,做个参考吧。 对于初学者,我建议从 python 开始学。因为它在语言设计上很整洁,帮助文件也很全面。而且也是 object-oriented (O-O),尽管我把它作为
如何设置段落格式html,
请教
高手
,如何对许多段落单独设置各个样式?_html/css_WEB-ITnose...
大家好,我想问下,我有一段文字,有很多我现在对第
一个
单独设置了class ,采用first-child 这种方法来对第
一个
设置。但是现在我想对第二个,或者剩余其他的所有段落设置样式,请问如何设置? 采用什么方法。我想这样实现,第
一个
p 的样式为class1 , 其余的p 的样式全部为class2.请问这里有人会吗?回复讨论(解决方案)p.className("class2");对第
一个
单独设置了c...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章