文档章节

控件的 Owner 属性演示

涂孟超
 涂孟超
发布于 2014/09/26 15:32
字数 169
阅读 4
收藏 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  btn: TButton;
begin
  {如果 Panel1 不存在则退出}
  if Panel1 = nil then Exit;

  {第一次 btn 依附窗体创建, 也就是它的 Owner 属性是窗体}
  btn := TButton.Create(Self);
  btn.Parent := Self;
  btn.Caption := btn.Owner.ClassName + '- btn';
  btn.Left := 0;
  btn.Top := 0;

  {第二次 btn 依附 Panel1 创建, 也就是它的 Owner 属性是 Panel1}
  btn := TButton.Create(Panel1);
  btn.Parent := Self;
  btn.Caption := btn.Owner.ClassName + '- btn';
  btn.Left := 0;
  btn.Top := btn.Height;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  {当 btn 做依附的 Owner 属性对象销毁时, 它也随之销毁}
  Panel1.Free;
end;

end.

 
 
 
 
 

 

 

  
//效果图:


本文转载自:http://www.cnblogs.com/del/archive/2008/03/02/1088137.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
BCGSoft Demo示例展示之一般示例集合(1/2)

BCGSoft公司的BCGControlBar产品是全球最优秀的MFC界面类库,功能强大,显示丰富,在国际上享有盛誉,并屡次获奖,是VC界面设计的必备首选! 本文中的这些示例程序主要演示了如何创建先进的图...

Miss_Hello_World
2016/04/25
32
0
BCGSoft Demo示例展示:对接窗口示例(一)

BCGSoft公司的BCGControlBar产品是全球最优秀的MFC界面类库,功能强大,显示丰富,在国际上享有盛誉,并屡次获奖,是VC界面设计的必备首选! 本文中的示例集合主要演示了Docking Windows技术...

Miss_Hello_World
2016/07/11
26
0
ios 开发file's owner以及outlet与连线的理解

xib文件本身可以看做是一个xml,app启动的时候会根据xml构造xib对应的界面及其控件, file's owner 可以看做是 xib对应的类,比如 view对应的xib文件的file'owner对应的就是 viewcontrol的类...

mjrao
2012/07/09
0
5
用Scintilla让程序支持语法高亮

Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成 (code completion)和调用提示(call tips)。能包含标记(marker)...

Waiting4you
2009/11/12
3.2K
0
如何 iPad 编程中使用自定义 TableViewCell

UITableViewCell类能够显示出各种各样的风格,但有时候我们需要适应不同的显示模式下的显示。今天的文章中,我们将使用table view去显示一系列自定义的cell。 启动Xcode,选择"Create a new...

junwong
2012/08/26
2.7K
3

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
今天
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0
最近研究如何加速UI界面开发,有点感觉了

最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电...

山东-小木
今天
3
0
《月亮与六便士》的读后感作文3000字

《月亮与六便士》的读后感作文3000字: 看完英国作家威廉.萨默塞特.毛姆所著《月亮与六便士》(李继宏译),第一疑问就是全书即没提到“月亮”,也没提到“六便士”。那这书名又与内容有什么...

原创小博客
昨天
2
0
微信网页授权获取用户信息(ThinkPHP5)+ 微信发送客服消息(一)

以thinkphp5为实例,创建控制器 class Kf extends Controller { /** * [protected description]微信公众号appid * @var [type] */ protected $appid = "xxxxxxxxxxxxxxx"; /** * [protected......

半缘修道半缘君丶
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部