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. Python 'takes exactly 1 argument (2 given)' Python error

    Python,定义urlConfig 接收参数,正常传递参数时,出现,多给了一个参数的错误问题, 定义class的函数之后,在调用的时候出现“'takes exactly 1 argument (2 ...

  2. java TCP 通信:服务端与客服端

    1.首先先来看下基于TCP协议Socket服务端和客户端的通信模型: Socket通信步骤:(简单分为4步) 1.建立服务端ServerSocket和客户端Socket 2.打开连接到Socket的输 ...

  3. tslint.json的配置项说明

    tslint.json的配置项说明   extends: 内设配置项名称 rules: 规则 { //ts专用 adjacent-overload-signatures : true, // Enfo ...

  4. 在vscode中进行nodejs服务端代码调试(代码修改自动重启服务端)

    使用到的是nodemon,具体在package.json文件中配置如下: "scripts": { "start": "node ./bin/www& ...

  5. LOJ 103子串查找——用hash代替kmp算法

    题意 给出两个字符串 $s_1,s_2$,求 $s_2$ 在 $s_1$ 中出现的次数. 分析 预处理出两个字符串的哈希值,再逐位比较. 时间复杂度为 $O(n+m)$,和 $kmp$ 算法一样. 可 ...

  6. 01 - Element

    ¶安装 npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S CDN 目前可以通过 unpkg.com/element- ...

  7. ADB命令使用详解

    ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 1.连接android设置 adb connect 设备名 例如: adb connect 12 ...

  8. [Angular 8] Custom Route Preloading with ngx-quicklink and Angular

    In a previous lesson we learned about implementing a custom preloading strategy. That gives you a lo ...

  9. 洛谷 P1076 寻宝 题解

    今天又TM考试了...... 这是T1,然后我模拟20分滚粗. Analysis 在每层的时候用编号%这层可以上楼的房间个数就行了. #include<iostream> #include ...

  10. 洛谷 P3627 [APIO2009]抢掠计划 题解

    Analysis 建图+强连通分量+SPFA求最长路 但要保证最后到达的点中包含酒馆 虽然思路并不难想,但要求的代码能力很高. #include<iostream> #include< ...