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. attr方法笔记(反射)

    attr方法笔记 attr中用到了四个内置面向对象方法(__getattr__,__setattr__,__hasattr__,__delattr__),这称为反射,由于python中一切皆对象,反射 ...

  2. 大数据之路week06--day07(Linux中的mysql的离线安装)

    这里我提供 服务端和客户端的两个jar包的百度云,也是我使用的 链接:https://pan.baidu.com/s/11a3LT-ENZ8n9IF19-VjmWA 提取码:bdls 离线安装Mysq ...

  3. Nginx入门(四)——反向代理

    server { listen 8020; server_name localhost; location / { root html; index index.html index.htm; pro ...

  4. String字符串常量池简介

    直接贴代码---> public class Test { public static void main(String[] args) { /** * 为了提升字符串的访问效率,在程序中使用了 ...

  5. Latex快速注释掉多行

    最简单的方法就是选中你想要注释掉的内容,同时按住Ctrl+Alt+Shift+→

  6. Codeforces Round #597 (Div. 2) C. Constanze's Machine

    链接: https://codeforces.com/contest/1245/problem/C 题意: Constanze is the smartest girl in her village ...

  7. Laravel 报 Nginx 502 : Bad Gateway 错误

    1 问题再现1.1 Laravel 6.1.0,在前端数据修改,标题中包含有中文符号:.或<>,Nginx 报502 错误. 1.2 在 TEXT 字段中保存则不存在此问题 2 排查过程 ...

  8. xml介绍+xml创建+xml读取

    1.xml介绍:(URL:https://blog.csdn.net/weixin_37861326/article/details/81082144) xml是用来传输内容的,是w3c推荐的 2.使 ...

  9. Redis删除相同前缀的key

          如何优雅地删除Redis set集合中前缀相同的key?       Redis中有删除单条数据的命令DEL,却没有批量删除特定前缀key的指令,但我们经常遇到需要根据前缀来删除的业务场景 ...

  10. Codeforces - 2019年11月补题汇总

    大概目标是补到 #500 为止的 Div. 2 ,先定个小目标,寒假开始前补到 #560 为止 Codeforces Round #599 (Div. 2) 5/6 备注:0-1BFS(补图连通块) ...