TPanel位于Standard组件面板上,也是常用的一种容器控件。面板的一个优点就是放在面板上的组件称为面板的一部分,因此它们与面板一起移动。这在设计阶段很有用。

Panel组件的大部分功能在于其Align属性。例如,想显示标题在窗体上端,更进一步假设想让它在中央,不管用户怎样设置窗口尺寸,只需设置Align属性为alTop及Alignment属性为taCenter,这样标题总是在中央的,就是这么简单。

面板有很多种类的外观,它的外观通过BevelInner、BevelOuter、BorderStyle和BorderWidth属性来改变。

TPanel控件的主要属性

属性 含义
Alignment 标题的位置,有taLeftJustify(靠左)、taCenter(居中)和taRightJustify(靠右)
BevelInner 定义Panel内斜面的样式,有bvNone(无斜面)、bvLowered(凹陷)、bvRaised(凸起)、bvSpace(凸起,和bvRaised一样)四种选择
BevelOuter 定义Panel外斜面的样式,和BevelInner的选项一样
BevelWidth 定义内外斜面的宽度
BorderStyle 定义边框的样式,有bsNone(无边框,默认值)、bsSingle(细边框)两种
BorderWidth 指定边框的宽度,可以取为任意整数值
FullRepaint 指定了当Panel调整大小时,对自身的重绘方式,为True时,整个Panel包括斜面边框,都被重绘,否则只有斜面边框内的部分被重绘
Locked 当Panel作为OLE应用程序的工具栏时,使用该属性来指定Panel是否被OLE server的工具栏取代,为True时,则不取代。

Panel组件如此多样,需要花费一些时间来发现所有可能的应用。

下图,显示了不同类型的面板样式示例

以上代码均在Delphi7中测试通过,示例代码下载:不同样式的面板.rar

VCL组件之TPanel的更多相关文章

  1. delphi VCL组件同名继承

    当我们在扩展一个 vcl 组件功能的时候,既想保留IDE中能拖动大小与直接设置属性的功能,又想减少写创建与释放代码和安装扩展后新组件的麻烦,那么本文中的方法,就非常实用了. 以给TStringGrid ...

  2. Delphi的VCL组件库

    Visual Component Library的缩写(可视组件库)VCL是Visual Component Library的缩写,即可视组件库,它是Delphi,C++Builder等编程语言的基本 ...

  3. VCL组件之TLabel、TStaticText和TLabeledEdit

    TLabel.TStaticText.TLabeledEdit类的继承关系如下:

  4. CSDN论坛 > Delphi > VCL组件开发及应用 DBLookupComboBox用法

    (1)DataSource属性    该属性用于连接要编辑数据的主表数据源(2)DataField属性    该属性用于指定要编辑的数据字段名(3)ListSource属性    .    该属性用于 ...

  5. Delphi:与VCL同步(Synchronize()、用消息来同步)

    看本文时,可以同时参考:Delphi中线程类 TThread实现多线程编程(事件.临界区.Synchronize.WaitFor……) 先说一下RTL和VCL RTL(Run-Time library ...

  6. 【温故Delphi】之VCL消息机制小结

    TObject消息分派 procedure Dispatch(var Message); virtual; #负责分派消息到特定VCL组件的事件处理函数 procedure DefaultHandle ...

  7. Delphi 第三方组件

    TMS Component Pack v7.0.0.0 TMS Component Pack 版本为Delphi和C++ Builder提供了超过350个VCL组件,用以创建功能丰富的.现代的和原生W ...

  8. Delphi组件indy 10中IdTCPServer修正及SSL使用心得

    indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy ...

  9. VCL线程的同步方法 Synchronize(用消息来同步)

    看本文时,可以同时参考:Delphi中线程类 TThread实现多线程编程(事件.临界区.Synchronize.WaitFor……) 先说一下RTL和VCL RTL(Run-Time library ...

随机推荐

  1. vue init webpack-simple

    vue init webpack-simple  .. 将我们的项目更加方便,更有助于开发者快速开发. vue init webpack-simple的项目默认打包后之后一个html和一个js文件,而 ...

  2. 50、[源码]-Spring容器创建-Bean创建完成

    50.[源码]-Spring容器创建-Bean创建完成 11.finishBeanFactoryInitialization(beanFactory);初始化所有剩下的单实例bean: beanFac ...

  3. ModelAndView返回Json格式的数据

    第一种方式: 1.自定义类JacksonUtil.java,类中实现tojson方法(即将数据转成json类型): 2.自定义类JsonView 继承 AbstractView 3.xml中配置bea ...

  4. sql server 存储过程中,调用事务 tran

      Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示 ...

  5. git 切换远程已有分支

    本地分支a,且没有分支b,想要切换到远程以后分支b 1. git remote update origin --prune 更新本地分支列表与远程一致 2. git branch 查看本地所有分支,是 ...

  6. Hdu CRB and Queries(整体二分)

    CRB and Queries Time Limit: 6000 MS Memory Limit: 131072 K Problem Description There are N boys in C ...

  7. [转]C++重载()(强制类型转换运算符)

    在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符. 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数.经过适当重载后,(类型名) ...

  8. vim命令整理

    最近使用vim比较多,整理一下!

  9. Java 8的Time包常用API

    Date.Canlender.SimpleDateFormat类在新的Time包面前几乎没有优势 日期LocalDate,时间LocalTime,日期时间LocalDateTime. 时区ZoneId ...

  10. Python操作Jira

    目录 认证 项目(Project) 问题(Issue) 配置域(Fields) 关注者/评论/附件 创建/分配/转换问题 搜索 Jira提供了完善的RESTful API,如果不想直接请求API接口可 ...