简单的delphi停泊窗口制作
来源:互联网 发布:战争之王 知乎 编辑:程序博客网 时间:2024/05/22 16:47
可停泊窗口在office系列软件及delphi和vb等软件中经常见到,通过停泊窗口可以改善界面的美观效果。在delphi中创建可停泊窗口比较简单,基本分为两个步骤:一建立停泊区即可以放置停泊对象的区域继承TWinControl的控件都可以做为停泊区,只需设置它的DockSite和Autosize属性,DockSite设置为true即可以接受停靠,autosize设置为True时当停泊对象离开停泊区时停泊区会自动改变大小。二设置停泊对象的相关属性。DragKind设置为dkDock表示接下来的操作是一个停靠操作而不是普通的拖放操作,DragMode设定为dmAutomatic表示当鼠标在工具条上点击并移动后,会自动发起拖放动作。这两步就可以创建简单的停靠。在停靠中会引发停靠区的onDragOver和onDragDrop事件,onDragOver有个参数accept标识是否接受停泊,onDragDrop表示停泊。停泊对象在停靠中会引发onStartDock
和onenddock事件表示停泊开始和结束。下面是一个小例子。
新建工程,在窗体上放置Toolbar控件和timer控件,在toolbar上新建两个按钮。属性设置如下:
TForm1 DockSite=true autosize=true
Toolbar1 DragKind=dkDock dragmode=dmAutomatic
timer1 interval=200
事件代码如下:
procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
ToolBar1.Align:=alTop; //设置停靠后toolbar的放置位置据顶
ToolBar1.DragMode:=dmManual; //停靠后不能再次进行拖曳操作
end;
procedure TForm1.ntTimer(Sender: TObject);
begin
if not ToolBar1.Visible then //当离开停靠区后点击关闭按钮后能自动再次显示否则toolbar隐藏不能进行操作了。
ToolBar1.Visible:=True;
end;
将toolbar的dragmode设置为dmManual则必须写如下事件
procedure TForm1.ToolBar1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ToolBar1.BeginDrag(False);
end;
关于停靠的更多详细操作看如下网址
http://delphi.sharpplus.com/Delphi_Old/dock.htm
- 简单的delphi停泊窗口制作
- 简单的无标题窗口移动技巧(delphi)
- 制作简单的 COM 范例 (for Delphi)
- 简单的页面浮动窗口的制作
- 制作一个简单的等待窗口
- 制作一个简单的等待窗口
- vb制作简单的多窗口浏览器(3) -- 新建窗口
- 一个简单组件的制作过程——delphi教程
- ASP.NET制作一个简单的等待窗口
- Asp.net制作一个简单的等待窗口
- Asp.net制作一个简单的等待窗口
- Asp.net制作一个简单的等待窗口
- vb制作简单的多窗口浏览器(1)
- vb制作简单的多窗口浏览器(2)-- form初始化
- vb制作简单的多窗口浏览器(5) --浏览模式
- vb制作简单的多窗口浏览器(6)--拖拽
- vb制作简单的多窗口浏览器(7)--广告过滤
- vb制作简单的多窗口浏览器(8)--设置功能
- 虚拟化技术的一个用例
- 给力的运维shell命令
- 关于动态代理和AOP的入门好文
- Device Formats【MSDN】
- 关于模板语言 Mustache
- 简单的delphi停泊窗口制作
- J2EE、Java SE、Java EE、Java ME详细介绍
- DirctorShow 获取AVI文件的所有帧
- 《MS SQL Server2005 技术内幕—T-SQL查询》读书笔记一:SQL逻辑查询处理
- unix学习第二天
- Escape,encodeURI,encodeURIComponent
- webservice 概念
- ORACLE中查询系统中的所有表和查询某张表中所有字段的名称的SQL写法
- Using semaphore in scull - from ldd3