文档章节

Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 945
阅读 14
收藏 0
点赞 0
评论 0

{ TControl }
public
  constructor Create(...); override;     //
  destructor Destroy; override;          //
  procedure AddObject(...); override;    //添加对象
  procedure RemoveObject(...); override; //移除对象
  procedure SetNewScene(...); virtual;   //设置新场景
  procedure SetBounds(...); virtual;     //设置位置、大小
  function AbsoluteToLocal(...): TPointF; virtual;       //点转换
  function LocalToAbsolute(...): TPointF; virtual;       //...
  function AbsoluteToLocalVector(...): TVector; virtual; //...
  function LocalToAbsoluteVector(...): TVector; virtual; //...
  function PointInObject(...): Boolean; virtual;         //判断指定点是否在对象范围内
  procedure RecalcUpdateRect; virtual; //重计算...
  procedure RecalcNeedAlign; virtual;  //...
  procedure RecalcOpacity; virtual;    //...
  procedure RecalcAbsolute; virtual;   //...
  procedure RecalcEnabled; virtual;    //...
  procedure RecalcHasEffect; virtual;  //...
  function MakeScreenshot: TBitmap;    //将控件捕获为 Bitmap
  procedure ShowCaretProc;        //显示输入光标
  procedure SetCaretPos(...);     //设置输入光标的位置
  procedure SetCaretSize(...);    //设置输入光标的大小
  procedure SetCaretColor(...);   //设置输入光标的颜色
  procedure HideCaret;            //隐藏输入光标
  procedure BeginUpdate; virtual; //开始更新
  procedure EndUpdate; virtual;   //结束更新
  procedure Realign; virtual;     //重新排列
  procedure ApplyEffect;          //应用特效
  procedure Painting; virtual;    //DoPaint 前
  procedure DoPaint; virtual;     //重绘过程
  procedure AfterPaint; virtual;  //DoPaint 后
  procedure UpdateEffects;        //更新特效
  procedure SetFocus;             //设置为焦点控件
  procedure PaintTo(...);         //将控件绘制到指定 Canvas
  procedure Repaint;              //重绘
  procedure InvalidateRect(...);  //使指定矩形范围无效而而强制更新
  procedure Lock;                 //锁定
  property AbsoluteMatrix: TMatrix ...;        //实际的矩阵
  property AbsoluteOpacity: Single ...;        //实际的透明度
  property AbsoluteWidth: Single ...;          //实际的宽度
  property AbsoluteHeight: Single ...;         //实际的高度
  property AbsoluteScale: TPointF ...;         //实际的比例
  property AbsoluteEnabled: Boolean ...;       //实际的可用状态; 可能会随父对象而不可用
  property HasEffect: Boolean ...;             //是否有特效
  property HasDisablePaintEffect: Boolean ...; //?
  property HasAfterPaintEffect: Boolean ...;   //?
  property ChildrenRect: TRectF ...;           //获取子对象占据的矩形
  property InvertAbsoluteMatrix: TMatrix ...;  //翻转后的矩阵
  property InPaintTo: Boolean ...;           //?
  property LocalRect: TRectF ...;            //获取局部的矩形范围
  property AbsoluteRect: TRectF ...;         //获取实际的矩形范围
  property UpdateRect: TRectF ...;           //获取要更新的矩形范围
  property BoundsRect: TRectF ...;           //获取或设置矩形范围; 设置时可同时指定位置, 但再获取到的矩形都是 (0,0,Width,Height)
  property ParentedRect: TRectF ...;         //获取相对于父对象的矩形范围
  property ParentedVisible: Boolean ...;     //判断上级对象是否可见
  property ClipRect: TRectF ...;             //获取剪辑区域矩形
  property Canvas: TCanvas ...;              //绘图层
  property Scene: IScene ...;                //获取场景接口
  property AutoCapture: Boolean ...;         //能否在 MouseDown 时自动捕获控件
  property CanFocus: Boolean ...;            //能否设置焦点
  property DisableFocusEffect: Boolean ...;  //是否禁用焦点特效
  property DisableDefaultAlign: Boolean ...; //是否禁用默认对齐
  property TabOrder: TTabOrder ...;          //Tab 序号
published
  property IsMouseOver: Boolean ...;  //鼠标是否在其上
  property IsDragOver: Boolean ...;   //是否有拖放经过
  property IsFocused: Boolean ...;    //是否拥有焦点; 只读, 可通过 SetFocus() 设置
  property IsVisible: Boolean ...;    //是否可见; 同 Visible, 但只读
  property Align: TAlignLayout ...;   //对齐方式
  property Cursor: TCursor ...;       //光标
  property DragMode: TDragMode ...;   //拖放模式
  property EnableDragHighlight: Boolean ...; //拖放时是否高亮显示
  property Enabled: Boolean ...;             //是否可用
  property Position: TPosition ...;          //位置
  property RotationAngle: Single ...;        //旋转角度
  property RotationCenter: TPosition ...;    //旋转中心点
  property Locked: Boolean ...;       //是否锁定控件; 使用 Lock() 方法锁定更好
  property Width: Single ...;         //宽
  property Height: Single ...;        //高
  property Margins: TBounds ...;      //内边界
  property Padding: TBounds ...;      //外边界
  property Opacity: Single ...;       //透明度: 0..1
  property ClipChildren: Boolean ...; //是否隐藏超出边界的子控件
  property ClipParent: Boolean ...;   //?
  property HitTest: Boolean ...;      //当前版本未完成 Hint 功能
  property CanClip: Boolean ...;      //是否同意被父对象剪辑
  property PopupMenu: TCustomPopupMenu ...;   //指定右键菜单
  property Scale: TPosition ...;              //缩放比例
  property Visible: Boolean ...;              //是否显示
  property DesignVisible: Boolean ...;        //是否在设计时显示
  property OnDragEnter: TDragEnterEvent ...;  //拖放进入时
  property OnDragLeave: TNotifyEvent ...;     //拖放离开时
  property OnDragOver: TDragOverEvent ...;    //拖放经过时
  property OnDragDrop: TDragDropEvent ...;    //拖放放下时
  property OnDragEnd: TNotifyEvent ...;       //拖放结束时
  property OnKeyDown: TKeyEvent ...;          //按键时
  property OnKeyUp: TKeyEvent ...;            //离键时
  property OnClick: TNotifyEvent ...;         //单击时
  property OnDblClick: TNotifyEvent ...;      //双击时
  property OnCanFocus: TCanFocusEvent ...;    //SetFocus() 时
  property OnEnter: TNotifyEvent ...;         //获取焦点时
  property OnExit: TNotifyEvent ...;          //失去焦点时
  property OnMouseDown: TMouseEvent ...;      //鼠标按下时
  property OnMouseMove: TMouseMoveEvent ...;  //鼠标移动时
  property OnMouseUp: TMouseEvent ...;        //鼠标按键释放时
  property OnMouseWheel: TMouseWheelEvent ...;   //鼠标(滚动轮)滚动时
  property OnMouseEnter: TNotifyEvent ...;       //鼠标进入时
  property OnMouseLeave: TNotifyEvent ...;       //鼠标离开时
  property OnPainting: TOnPaintEvent ...;        //重绘开始时
  property OnPaint: TOnPaintEvent ...;           //重绘时
  property OnResize: TNotifyEvent ...;           //调整大小时
  property OnApplyStyleLookup: TNotifyEvent ...; //应用新样式时
end;

© 著作权归作者所有

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
Delphi XE2:这就是我们所期待的Delphi吗?

版权声明:本文为 OSChina.NET 原创编译 转载务必注明出处,并保留链接! 作者:蒂姆.安德森 Delphi是被一些人遗忘了的快速应用程序开发工具,但它与可视组件库相结合,依然是开发Windows本机...

虫虫 ⋅ 2011/10/31 ⋅ 49

最全面的常用Delphi第三方控件汇总—报表、图表、界面、数据库等

有网友问我常用Delphi第三方控件及功能。我先大概整理一下,以后会在文章里面碰到时再仔细介绍。 报表图表方面: TeeChart Pro 在delphi 的图形显示方面目前唯一的选择,虽然从delphi 3 就随...

Leamontea ⋅ 2012/12/03 ⋅ 2

Delphi XE2 新功能:LiveBindings --- 把对象之间的属性绑定起来

Delphi XE2 新功能:LiveBindings --- 把对象之间的属性绑定起来日期:2011年9月9日 作者: 人气:5340 查看:[大字体 中字体 小字体] XE2 有了 FireMonkey 框架,它不同于 VCL ,以往的数据感...

vga ⋅ 2016/08/09 ⋅ 0

Delphi 发展历史

自然人的软件著作权,保护期为自然人终生及其died后50年;软件是合作开发的,截止于最后died的自然人died后第50年的12月31日。法人或者其他组织的软件著作权,保护期为软件首次发表之后50年,...

vga ⋅ 2014/05/13 ⋅ 2

PostgreDAC 2.8.0,Delphi的PostgreSQL组件

PostgreDAC 2.8.0 发布了,该版本首次通过 RAD Studio XE2 支持 Mac OS X 系统,大大提升了 FireMonkey 支持,修复了关于 TPSQLMonitor 的 bug。 完整改进记录: [!] FireMonkey and cross p...

红薯 ⋅ 2012/03/20 ⋅ 1

Delphi XE5 for Android 启动无黑屏等待总结

Delphi XE5 for Android 启动无黑屏等待总结 从embarcadero官方技术论坛找了下参考资料,对黑屏处理应该来说有了相应的办法,并且这种办法具有很好的应用价值,因此做了个总结,Delphi XE5 无黑屏...

vga ⋅ 2014/10/07 ⋅ 0

PostgreSQL的Delphi组件--PostgreDAC

PostgreDAC 是适合 Delphi/C++ Builder 操作 PostgreSQL 数据库的功能非常强大的组件包,允许你创建直连 PostgreSQL 数据库的 Delphi/C++ Builder 应用,无需 BDE 和 ODBC 支持。 使用 Post...

匿名 ⋅ 2012/03/20 ⋅ 0

GO 语言 UI 组件库 - govcl

由于现有第三方的Go UI库不是太大就是用的不习惯,或者组件太少。就萌生了自己写一个UI库的想法Delphi(Lazarus)有些许多优秀的VCL(LCL)组件,不拿来使用太可惜了。所以就索性做了一套。目前支...

不在乎y ⋅ 2017/10/10 ⋅ 17

Delphi 组件开发教程指南(4)组件生成过程(针对TWinControl继承而来的组件)

还记得在第二章的时候,我用到了procedure CreateParams(var Params: TCreateParams);这个函数的吧!为什么我会使用这个函数来实现那个对齐的问题呢!现在就来追根底的来看看!这个过程其实是...

技术小美 ⋅ 2017/11/12 ⋅ 0

FastScript脚本使用白皮书(Ver1.0)

〖转载〗FastScript脚本使用白皮书(Ver1.0) 1. 可以使用的对象如下: 1.1. 原始类: Tobject, TPersistent ,TList, TStrings, TStringList, TStream, TFileStream, TMemoryStream, TCompon......

vga ⋅ 2015/01/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

两道面试题,带你解析Java类加载机制

在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Grandpa{ static { System.out.println("爷爷在静态代码块"); }} cl...

1527 ⋅ 26分钟前 ⋅ 0

SpringCloud(Data Flow)

dataflow-server

赵-猛 ⋅ 36分钟前 ⋅ 0

深入理解Java虚拟机

这本书我读到第8章,之后就是在读不下去了。 读到后面是一种痛苦的体验,太多的东西是不全面的,大量的专有名词是没有解释的,读到最后很多东西仅仅是一个侧面,所以我觉得,这本书不适合初学...

颖伙虫 ⋅ 41分钟前 ⋅ 0

B树和B+树的总结

B树 为什么要B树 磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的...

浮躁的码农 ⋅ 44分钟前 ⋅ 0

NanoPi NEO core/ Ubuntu16.04单网卡配置3个IP地址(2个静态,1个动态)

配置 root@NanoPi-NEO-Core:/etc/network# cat interfacesauto loiface lo inet loopbackallow-hotplug eth0iface eth0 inet static address 172.31.188.249 netmask 255.......

SamXIAO ⋅ 今天 ⋅ 0

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 今天 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 今天 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 今天 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 今天 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部