Delphi Form Designer (窗体设计器)之一
对于经常使用Delphi的用户,下面的讲解可能有点太初级,即便如此也最好浏览一下,这样可以发现以前并不知道的东西或重新回忆起已遗忘的东西。
使用Form Designer
Delphi Form Designer是强有力的可视化程序设计工具,它能安放组件、选择组件、移动组件、重新设置组件大小、以及对齐组件等。Form Designer能设置窗体本身的大小和位置、增加菜单、建立专用对话框——建立典型窗口程序的用户接口时所需要的一切。
窗体设计器刚开始的时候是一个空白的窗口。可以把窗口设计器看作是艺术家的画布,在这块画布上可以描绘各种各样的Windows应用程序。应用程序的用户界面正是由窗体实现的。只要从组件面板上选择一个组件并把它放到你的窗体上,就能实现与窗体设计器的交互。可以用鼠标调整组件在窗体设计器上的位置和大小,还可以用Object Inspector和代码编辑器来控制组件的外观和行为。
希望大家在阅读时,如果对某些东西怎样运作感到奇怪,可以随时停下来实验。有时几分钟的实验会教给以后能使用很长时间的技术。
Form Designer的快捷菜单
启动Delphi或者开发新项目时,面对的是Form Designer中的空窗体。Form Designer像大多数Delphi窗口有相匹配的快捷菜单。如下图所示:
- Align to Grid 将选择的组件与Form Designer坐标网格对齐。
- Bring to Front 将选择的组件拿到所有其他组件的前面。
- Send to Back 将选择的组件送到所有其他组件的后面。
- Revert to Inherited 当使用由Object Repository移植来的窗体时,将选择的控件恢复原始状态
- Align… 显示Alignment对话框
- Size… 显示Size对话框
- Scale… 显示Scale对话框
- Tab Order… 显示Edit Tab Order对话框
- Creation Order… 显示Creation Order对话框
- Flip Children… 对非英文版本的Windows,此命令改变组件的阅读顺序,对英文不能。
- Add to Respository… 增加窗体到Object Repository,定制的窗体可存起来以后使用。
- View as Text… 在Code Editor中以文本方式显示窗体描述。从Code Editor快捷菜单中选View as Form回到原窗体。也可用Alt + F12切换显示View as Text / View as Form选项。
- Text DFM 以文本文件格式保存窗体。
放置组件
在窗体上安放组件是很容易的。所要做的就是从组件选项板上选择所需要的组件,在窗体上点击来安放组件。在窗体上点击时,组件的左上角放在点击位置。注意在组件选项板上点击按钮时,按钮就被压下了。在窗体上点击安放组件时,组件选项板上的按钮又被弹出以显示动作完成。
Tip
在前面讲解中已经学到了,可以在窗体上多次安放组件,开始在调色板上选择组件的按钮时按住Shift,每次在窗体上点击,新的组件就会增加。在组件选项板上点击Arrow(箭头)停止安放组件。
大多数组件是可以设置大小的。可以把组件安放在窗体上,然后设置其大小,或安放的同时来进行设置。要在安放组件的同时设置其大小,就可以在要安放的地方点击,然后拖动鼠标,直到组件大小合适,释放鼠标,组件就按指定的大小安放了。
Note
并不是所有的组件用这种方式来设置大小。例如非可视化组件,在窗体上用图标表示。尽管可点击和拖动来安放非可视化组件,拖动大小则被忽略。另一个例子是单行编辑组件(Edit),此组件可用拖放安放,但只有拖动宽度能用,而拖动高度则被忽略。
Caution
如果在用拖动方式安放控件时如果改变想法,可以在释放鼠标前按ESC取消操作,但组件的按钮在组件选项板上仍是按下状态,因此可以继续放置组件,如果要取消,则按Arrow箭头按钮即可返回到组件选择状态。
Form Designer网格
Form Designer 内部坐标网格帮助设计窗体。坐标网格大小初始设置为水平8像素,垂直8像素。当Form Designer设定为显示坐标网格时,将在每个坐标网格交叉处安放一个点。安放在窗体上的组件会跳到最近的坐标网格上。“Snap to grid”是指组件的左上角自动跳到最近坐标网格,只要足够接近正确的位置,Form Designer就自动把组件安放在最近的坐标网格上。
可以通过Delphi7主菜单的【Tool | Environment Options…】打开Environment Options对话框中的Designer页面改变坐标网格的设置。这里可以改变坐标网格的大小或者关掉Snap to grid特征,也可以打开或关闭“Display grid”网格坐标显示,当坐标网格显示关闭时,坐标网格仍是有效的(当Snap to grid是开着的),但标记坐标网格的点没有画在窗体上。
转载于:https://www.cnblogs.com/pchmonster/archive/2012/01/13/2321181.html
Delphi Form Designer (窗体设计器)之一相关推荐
- C#用DesignSurface实现一个简单的窗体设计器
System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Desig ...
- 在.NET Core 3.0 Preview上使用Windows窗体设计器
目录 介绍 软件要求 克服限制 证明问题 解决方案 使用代码 兴趣点 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.NET Core 3.0的正式可用 ...
- C# winFrom窗体设计问题-部分文件打不开窗体设计器 变成类.cs
https://zhidao.baidu.com/question/1513483178103163220.html C# winform程序设计的时候,出现了问题.默认主窗体form1(改名form ...
- Windows 窗体设计器中的设计时错误
在用 VS.NET进行窗体设计的时候,经常会遇到这样的问题:我们需要在构造函数或者在OnLoad事件中进行自己的一些初始化操作,比如连接一个数据库.调用一个资源文件或者后期绑定一个组件.如果代码通过编 ...
- 通过用 .NET 生成自定义窗体设计器来定制应用程序
本文讨论: ? 设计时环境基本原理 ? 窗体设计器体系结构 ? Visual Studio .NET 中窗体设计器的实现 ? 为自己的应用程序编写窗体设计器而需要实现的服务 在很多年中,MFC 一直是 ...
- 在 Visual Studio 2019 中为 .NET Core WinForm App 启用窗体设计器
当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的.即使在窗体文件上右击选择"显 ...
- 自定义窗体设计器-控件测试
自定义窗体设计器-控件测试 基于.net2的自定义窗体设计器控件(类似visual studio的vb,c#设计器,其实就是vs2005的设计器) 控件由四部分组成:工具栏,工具箱,绘图设计区,属性框 ...
- 知识管理系统Data Solution研发日记之六 窗体设计器
知识管理系统Data Solution已经有五篇文章对它进行介绍,可以通过下面的连接,找到前面的文章 知识管理系统Data Solution研发日记之一 场景设计与需求列出 知识管理系统Data So ...
- econtrol窗体设计器
试用了几种窗体设计器以后发现还是ECONTROL最好用. 转载于:https://www.cnblogs.com/hnxxcxg/archive/2010/05/16/2940949.html
- 解决VS2019窗体设计器不显示
尝试了多种方法都无效,最终解决了!我按步骤回忆记录下! 1.尝试重新安装VS,没有效果. 2.图下操作并重启仍然无效. 3.找到解决方案图标,点击右键,打开方式选择VS2019,注意不要选择错了,这里 ...
最新文章
- arcengine遍历属性表_【程序之坑】小程序云开发导出数据到excel表
- python 垃圾回收器_Python 垃圾回收机制详细
- 3.在slave1机器下载3个安装包解压后,复制给master机器
- 自监督和语言监督我全都要?Facebook多模态预训练模型SLIP给你答案!
- mysql blob key length_mysql – 没有密钥长度的密钥规范中使用的BLOB / TEXT列’bestilling’...
- WPF 展示视频修改为WriteableBitmap
- php 重定向到https,php – Laravel 5 – 重定向到HTTPS
- 【APICloud系列|6】使用APICloud接入客服系统美洽获取Appkey配置
- 第五章 MVC之Bundle详解
- 加速进军自动驾驶领域,福特计划推出自动驾驶出租车服务
- css 滚动条样式_那些你总是记不住但又总是要用的css
- JUnit5基本用法
- 安装php服务器,安装php服务器环境的方法
- Hive找出所有科目成绩都大于某一学科平均成绩的学生
- Axure rp 9 的汉化破解版
- java组件及事件处理(13)--ActionListener监听算平方数
- H5viedo标签播放*.Mp4听得到音频却不显示视频的解决办法
- 0016_光源和打光(1)
- Android音频子系统(十二)------抖音直播功耗问题解析
- thingsboard安装源码编译
热门文章
- 自动驾驶 10-3: 全球导航卫星系统 (GNSS)The Global Navigation Satellite Systems
- 阿里云云计算 11 ECS初体验-- 动手实验
- TensorFlow by Google CNN卷积神经网络 Machine Learning Foundations: Ep #3 - Convolutions and pooling
- 翻译:where在Swift中的用法
- WKWebView终极指南
- 四数之和 leetcode
- 在构造函数中释放对象本身
- 多小区下小区上行速率的计算(2)
- 15投影矩阵与Moore-Penrose逆(2)
- php mysqli 字段缺失,mysqli 为什么不提示字段异常