delphi如何加上spliter分割条,任意调整大小
如题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 以下必须编
写一段程序代码才能实现此功能。
(江苏 韩世伟) http://blog.csdn.net/sushengmiyan/article/details/7404797
delphi如何加上spliter分割条,任意调整大小的更多相关文章
- iOS8 UITableView 分割条设置separator intent = 0 不起作用
转自:http://blog.csdn.net/ljb_wh/article/details/40788333 ios7的时候在storyboard 设置 TableView的separator in ...
- js 实现分割条
js 实现 切分条效果, 为了熟悉js 写法,纯javascript 脚本编写 简单介绍几个函数: setCapture()函数的作用就是将后续的mouse事件都发送给这个对象, releaseCa ...
- delphi按字节长度分割字符串函数(转)
此字符串分割函数用delphi编写,可以适应字符串中存在双字节字符和单字节字符. function TricheditEfm.SplitString(source:string;Sleng:Integ ...
- mfc分个窗口,设置分割条不可移动
最近要做一个项目,做界面时遇到了这个问题,找了好多资料,终于解决了,在此记录一下,希望对有需要的人有所帮助.好了,不多说了,具体的处理如下: 新建一个类CFixSplitterWnd继承CSplitt ...
- delphi Timage 加上滚动条方法
elphi Timage 加上滚动条方法 1:将 Timage 放入 TScrollBox内,即 [1]设image1.parent:= ScrollBox1; [2]在Object Ins ...
- 从navicat for mysql导出数据库语句时应该加上的两条语句
为了不引起编码问题,一般在从navict for mysql导出一个数据库时在文件最前面添加这2句语句: CREATE DATABASE IF NOT EXISTS `` default charac ...
- Delphi 转圈 原型进度条 AniIndicator 及线程配合使用
Delphi FMX 转圈 原型进度条 progress AniIndicator TAniIndicator TFloatAnimation VCL下也有转圈菊花进度条 TActivityIndic ...
- [Python]-tqdm模块-给for循环加上进度条
import tqdm 使用tqdm模块,可以在漫长的for循环加上一个进度条,显示当前进度百分比. 将tqdm写在迭代器之外即可:tqdm(iterator) for i in tqdm(range ...
- VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]
VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] - tingya的专栏 - 博客频道 - CSDN.NET VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] 分类 ...
随机推荐
- Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
1.去除对话框标题栏和边框 在构造函数里设置: this->setWindowFlags(Qt::FramelessWindowHint); Qt::Dialog (按照对话框的形 ...
- STL--stack/queue的使用方法
stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现. 准确地说,STL中的stack和queue不同于vect ...
- IBATIS动态SQL
转自:http://www.cnblogs.com/phoebus0501/archive/2011/05/16/2048126.html 直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值 ...
- UML 顺序图
顺序图 顺序图是交互图的一种形式,它显示对象沿生命线发展,对象之间随时间的交互表示为从源生命线指向目标生命线的消息.顺序图能很好地显示那些对象与其它那些对象通信,什么消息触发了这些通信,顺序图不能很好 ...
- listview,fragment结合起来
这是csdn上的以个demo,很适合初学者.来源:http://download.csdn.net/detail/endlife99/7274419,侵删. MainActiviy: package ...
- POJ2125 Destroying The Graph 二分图 + 最小点权覆盖 + 最小割
思路来源:http://blog.csdn.net/lenleaves/article/details/7873441 求最小点权覆盖,同样求一个最小割,但是要求出割去了那些边, 只要用最终的剩余网络 ...
- 根据Email地址跳转到相应的邮箱登录页面 (转)
//跳转到指定的邮箱登录页面 $(".btn_actemail").click(function () { var uurl = $(".hide_email" ...
- 人人都用 Retina 屏幕的 MacBook Pro 笔记本电脑
自从今年年初 Apple 官网产品降价我立即买了 13 寸的 Retina 屏 MacBook Pro(rMBP)之后, 这款苹果的笔记本电脑就成了我在公司和家里的唯一电脑(就是这一款). 使用苹果的 ...
- libvirt(virsh命令介绍)
有了virt-install是安装虚拟机的命令,当然也需要一个管理虚拟机的命令了,那就是virsh. virsh命令使用 virsh <command> <domain-id> ...
- Dreamer2.1 发布 新增将Bean解析成xml和json
一个上午,增加两个功能 1.直接将对象解析成XML 2.将对象解析成JSON 对象可以是数组,可以是集合,也可以是单个对象 源码和jar下载地址:http://pan.baidu.com/share/ ...