delphi 使用TFlowPanel容器,实现对内含控件进行自动排版

效果图:

 需求:

  当用户新增或者删除控件时,后面的控件(如果有的话)自动后退或者前移

实现:

需要用的控件是TFlowPanel,临时演员是TscGPEdit

1.TFlowPanel设置好合适的对齐,其他基本上不用怎么设置,默认即可

2.设置TscGPEdit的AlignWithMargins:=true;

然后往下找到Margins属性,进行设置.设置好后,复制粘贴这个TscGPEdit任意次,然后就可以看到效果了

 3.设置业务代码

因为TscGPEdit自带了一个RightButton功能与事件,所以业务代码我这里就直接写到里面去了

procedure TForm1.scGPEdit1RightButtonClick(Sender: TObject);
begin
  TscGPEdit(sender).Visible:=False ;
end;

由于TFlowPanel中没有设置滚动条的相关属性。所以我们只好另辟溪径。再加一个tscrollbox来实现。

具体操作如下:

1,先添加一个Tscrollbox,设置其align为alclient。autosize默认为false,不用改动。

2,在其中添加一个tflowpanel,设置align为altop,autosize为true,autowrap为true。在这其中一定要将align设置为altop,如果设置为其它都不会有滚动条的。

实际实验时,tflowpanel不起作用。而用trzflowpanel时,没问题。

还有一点需要注意的是,当改变tflowpanel的大小时,其中的控件不能自动重排。需要重写根据情况定义下tflowpanel的宽度才行。

如改变窗口大小时,在onresize中加上:flowpanel1.width:=self.clientwidth;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一共2个部分,分别下载。 用过BSskin或者VCLskin的哥们 支持的开发语言 Borland Delphi 4/5/6 Borland Delphi 7 Borland Delphi 8 Borland Delphi 2005 Borland Delphi 2006 CodeGear Delphi 2007 支持的操作系统 Windows Vista Wndows 2000/XP/2003 Windows NT4.0 Windows Me Windows 98/98SE Windows 95 版本信息 当前版本:3.0 文件大小:24.9MB 更新日期:2006-12-6 下载次数:22670 软件概述 Skin++ For Delphi目前全面支持Delphi4、Delphi5、Delphi6、Delphi7、Delphi8、Delphi2005、Delphi2006。 迄今为止,Delphi支持4种类型的应用程序: 1、VCL Forms Application – Delphi for Win32 (该类型在Delphi4/5/6/7/2005/2006所有版本包含); 2、VCL Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006中包含); 3、Windows Forms Application – C# Builder (该类型在Delphi2005/2006中包含); 4、Windows Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006中包含)。 Skin++对以上4种Delphi程序类型做了全面的支持。 试用版本描述与运行截图 1.在本安装盘中,包含了Delphi的各个版本(D6,D7,D8,D2005,D2006)Skin++测试例子; 2.关于如何使用Skin++,请参考文档《Skin++ For Delphi [All Edition]使用帮助》; 3.要查询Skin++所有的接口,请参考文档《Skin++接口描述》; 4.本安装盘提供一套试用皮肤PixOS.ssk,正式版用户将获得网站上更多更精美的皮肤。并可获得定期更新; 5.Skin++正式版中提供强大的皮肤设计工具Skin++Builder。 该工具完成皮肤所有的设计工作,并可以全自动导入Windows主题、第三方主题; Skin++Builder使用详情请参考《Skin++Builder Help》; 6.案例说明: 我们以Delphi2006 VCL Win32的测试例子为例,描述其组成。 打开\Delphi 2006\VCL Forms Application - Delphi For Win32\目录中的MDIAPP.exe 该例子是一个MDI类型的程序。主窗口部分演示Skin++在MDI方面处理的各个细节。 如:主菜单条、主弹出菜单、系统菜单、工具条、状态条、MDI客户区、MDI子窗口、MDI子窗口最大化后等各个部分的换肤细节。 Skin++ 3.0 可以对皮肤进行动态的色调设置 这个功能可以使您的程序可以瞬间拥有N套色调的皮肤。 更改色调样例1: 我们分以下几个页面对Delphi的全部控件进行了演示: Buttons、Static、Controls with ScrollBar(带滚动条的控件)、Splitter、TabControls、TrackBar & Progress、Misc Controls、Dialog、DataControls 6.1 Buttons 该部分我们演示了Skin++对Delphi的各种类型的按钮进行的换肤支持, 包括BitBtn按钮、SpeedButton、Tbutton、CheckBox、RadioBox 在该部分,还演示了对按钮进行多风格的换肤效果,“Style 2”按钮和其他按钮不同,呈现了其特有样式。 这种效果一般用在网络电话、多媒体软件、网络聊天等需要同时支持多种按钮风格的地方。 每个按钮具有其固定的5中状态:正常、按下、高量、禁用、默认。在该窗体中演示了每种按钮的5中状态。 并且在Skin++ 3.0 中,支持Focus的效果。通过Tab或方向键可以看到焦点在每个按钮上移动。 6.2 Static 该部分演示了Skin++ 对Label、GroupBox、右键菜单、PanelFlowPanel、GridPanel控件的支持。 值得一提的是,Skin++对Label的支持是彻底,并且不像其他的换肤软件需要在窗体
### 回答1: C Builder 5 是一个集成开发环境(IDE)和界面设计工具,用于创建 Windows 应用程序的编程工具。它采用了组件化的开发方式,允许开发者通过拖放组件来快速构建用户界面。 在 C Builder 5 中,布局是指组件在窗体上的排列方式。C Builder 5 提供了多种布局选项,使开发者可以根据需求自由选择合适的布局方式。下面是几种常用的布局方式: 1. TFlowPanelFlow Panel 是一种自动布局的容器组件。它可以根据组件的大小自动调整位置,使得组件按照行或列的方式排列。 2. TGridPanel:Grid Panel 是一个网格布局的容器组件。它可以创建一个二维网格,并根据行列位置来放置组件。开发者可以通过属性设置来定义行列的数量和大小。 3. TPageControl:Page Control 是一个选项卡布局的容器组件。它可以将多个页面组织在同一个窗体中,每个页面都可以放置不同的组件。用户可以通过选项卡来切换页面,实现多页签的效果。 4. TPanelPanel 是一个基本的容器组件,可以用于嵌套布局。开发者可以在 Panel 上添加其他组件,并通过调整 Panel 的大小和位置来实现自定义布局。 除了上述布局组件外,C Builder 5 还提供了一些辅助布局的组件,如 TGroupBox, TSplitter 等,用于帮助开发者更好地控制布局效果。 总的来说,C Builder 5 提供了多种布局选项,使开发者能够快速创建丰富多样的用户界面。同时,它还支持自定义布局,使得开发者可以根据具体需求来灵活调整界面的设计。 ### 回答2: C Builder 5 是一个开发工具,用于创建和设计Windows应用程序的用户界面。它提供了一种可视化的布局方法,使开发人员能够轻松地设计和调整应用程序界面的布局。 在C Builder 5中,布局是通过使用容器控件和布局管理器来实现的。容器控件可以是窗体、面板或任何可以容纳其他控件容器。布局管理器是用来指定控件容器中的位置和大小的工具。 在布局过程中,可以将控件拖放到容器中,并使用布局管理器的属性进行调整。常见的布局管理器包括Flow布局、Grid布局和Anchor布局。 Flow布局允许控件按照顺序自动排列,当控件的大小发生改变时,它们会自动调整位置。Grid布局将控件放置在网格中,可以指定每个控件在网格中的行列位置。Anchor布局允许控件通过设置锚点来自动调整大小和位置,当容器的大小改变时,控件自动适应容器的大小。 通过使用这些布局管理器,开发人员可以轻松地创建复杂和灵活的用户界面。布局管理器还提供了很多属性和方法,用于调整布局的细节,如控件的边距、行列间距以及居中对齐等。 总之,C Builder 5 提供了一种方便和灵活的布局设计方法,使开发人员能够快速创建出美观和用户友好的应用程序界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝈蝈(GuoGuo)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值