delphi如何加上spliter分割条,任意调整大小?

原创 2012年03月28日 21:36:55

如题1:如何把一个panel分割成四个小的panle

2:也就是如何加上spliter,分割条,任意调整大小

3、如何有独立的handle使用多个总共5个为什么呢,你放4个panel 然后放spliter,不行吗??

放5个不够,1、先在窗体放一个大的,作为容器,如果直接使用窗体,这个可以省。

2、在大PENEL上放两个PANEL,一个SPLITER,其中一个align 设为 left (假如名为PanelLeft), 一个设置为Client(名为PanelRight), splier设为left(名为Spliter2)

3、在PanelLeft中再放两个Panel, 一个Spliter, 一个Align 设为 Top(假设名为PanelLeftTop), 另一个设为Client(PanelLeftBottom), Spliter设为Top)

4、在PanelRight照第三步 (Panel名分别为PanelRightTop,PanelRightBottom, Spliert3)

5、在Spliter2中 OnMove中设置 PanelRightTop.Height := panelLeftTop.Height,在Spliter3中OnMove中设置PanelLeftTop.Height := PanelRightTop.Height , 实现横向移动时联动。楼上的,问题解决,如果是很多小窗口,如何去做,如果按这种思路去做就很麻烦了,谢谢..没人关注哦..........使用4个panel 和3个apliter,3个panel属性align为ClLeft,剩下的为ClClient四个小窗口问题按levi的方法已解决了!如果是很多个小窗口,这种方法就显的很笨拙了,有没有好的方法,像拿铅笔划分窗口那样简单的思路?好像不能象VC那样设计,只能用这种方法 ,不影响视觉啊。



Delphi窗口分割并动态调节其大小

在Delphi编程中实现窗口分割的关键是:

使用Delphi的一个TSplitter组件(在Additional页中)。假设要把窗口分成左、右两部分,并且在运行中可以动态调节其相对大小,做法如下:  

 1.在一个空白的Form中加入Panel1,Align设为alLeft。(也可根据实际情况设为alRight,alBottom或alTop)。  

 2.在Form1的空白处加入一个Splitter,可以看到它自动处于紧贴Panel1的位置,它的Align属性的缺省值也是alLeft。如果Panel1的Align为alTop,Splitter也应设为alTop,依此类推。

3.加入Panel2,Align设为alClient。在这里,必须有一个Panel为alClient。运行,把鼠标停在两个Panel之间,当光标改变成双向箭头形状时拖动它。是不是很好用啊  呵呵 而且代码都不用自己来写就可以实现。


Delphi实现容器分隔
 
  随着Windows95的流行,分隔器控件已成为操作系统的常用部件,它将容器(通常为
窗体或面板)的客户区域分为可调整大小的若干部分,称为窗格。我们最常见到的例子就是
Windows95的资源管理器,它使用了一个分隔器控件(也就是在资源管理器中可以用鼠标左
右拖动的竖条)将目录树视图和文件表视图分隔开,可以由用户任意调整。Delphi提供了一
个分隔器控件TSplitter来实现这种功能,下面以制作一个简单的资源管理器为例来介绍设
计步骤:
  1.从Standard 标记页中选择容器Panel控件,将其放入Form1中,命名为Panel1,并
将其Align属性设置为alClient。
  2.从Win3.1标记页中选择DirectoryListBox控件,将其放入容器Panel1中,命名为
DirectoryListBox1,置Align属性为alLeft,并调整其初始宽度。
  3.从Additional标记页中选择Splitter控件,放入容器Panel1中,置Align属性为alLeft,
Width属性为5。
  4.再从Win3.1标记页中选取FileListBox控件放入Panel1中,命名为FileListBox1,置
Align属性为alClient。
  5.最后,将DirectoryListBox1的FileList属性置为FileListBox1。
  现在,按F9运行程序,便会出现一个简单的资源管理器,设计出的窗体具有随意调
整窗格大小的能力。在Delphi中实现容器分隔非常简单,甚至一句程序代码也不用写。要
注意的是,封装了分隔器控件的TSplitter只有在Delphi 3 以上才有,Delphi 2 以下必须编
写一段程序代码才能实现此功能。
(江苏 韩世伟)

版权声明:本文为博主原创文章,未经博主允许不得转载。

cxSplitter禁用移动和拖拽,只允许点击箭头按钮触发缩放(展开和收起)

找到cxSplitter的CanResize事件,双击后写入如下代码就好了procedure TForm1.cxSplitter1CanResize(Sender: TObject; var NewS...
  • wozengcong
  • wozengcong
  • 2015年01月24日 20:22
  • 941

TRzSplitter变为水平分隔成上下两组

RzSplitter变为水平分隔成上下两组:费了半天神,查了一堆资料,最后发现在我DelphiXE界面上,属性栏下面有一个Vertical,点击一下就由左右分割(即垂直分割)变为上下分割了。如图: ...
  • wozengcong
  • wozengcong
  • 2015年01月08日 22:15
  • 908

Qt5布局管理(一)——QSplitter分割窗口类

概述本文首先通过三个实例分别介绍Qt5的分割窗口QSplitter类、停靠窗口QDockWidget类、堆栈窗体QStackedWidget类,然后介绍布局管理器的使用,最后通过一个综合实例介绍以上内...
  • LeeHDsniper
  • LeeHDsniper
  • 2016年03月29日 13:27
  • 4463

Delphi字符串分隔(似split函数功能)

Delphi字符串实现了和split()函数的功能. unit Unit1; interface uses Windows, Messages, SysUtils, Variant...
  • my98800
  • my98800
  • 2016年12月08日 08:40
  • 1758

用Win32实现带分割条(Splitter)的窗口

在MFC中借助向导的帮助很容易就能创建一个带有分隔条(Splitter)的窗口,但是在Win32中一切都没有那么容易,在这篇文章里我带领大家用Win32实现一个带这种Splitter的窗口。 一个S...
  • dong_mingyi
  • dong_mingyi
  • 2015年02月06日 18:23
  • 1302

delphi控件使用

Standard页 1-      Tlistbox控件 重要属性items.* 举例,界面设计如下左,执行结果如下右:      代码为 procedure TF...
  • delphi308
  • delphi308
  • 2013年08月08日 21:07
  • 7773

Delphi实现窗体控件自由移动

Delphi实现窗体控件自由移动 2008-04-25 16:22 在做Mis项目过程中,有时需要让用户自己来实现窗体控件的布局,比如酒店管理中就需要对餐厅餐桌位置进行布局。要实现这种功能,必...
  • delphi308
  • delphi308
  • 2013年08月08日 21:10
  • 1436

Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄

查找标题已知的窗口句柄,遍历窗口控件   有了回调函数的概念及上面的例子,我们可以继续了。其实想要找到一个标题已知的窗口句柄,用一个API函数就可以了:FindWindow. 其函数原形是: ...
  • youthon
  • youthon
  • 2015年04月22日 13:22
  • 4048

让你的Delphi非窗口自定义控件接收Windows消息

Windows messages are a key ingredient in communication between Windows and (your) applications and a...
  • MaxWoods
  • MaxWoods
  • 2014年05月19日 22:18
  • 3582

delphi 定时器的简单应用-TTimer控件

delphi 定时器的简单应用-TTimer控件
  • zhouky1993
  • zhouky1993
  • 2017年03月14日 11:05
  • 1120
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi如何加上spliter分割条,任意调整大小?
举报原因:
原因补充:

(最多只允许输入30个字)