对于经常使用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 (窗体设计器)之一相关推荐

  1. C#用DesignSurface实现一个简单的窗体设计器

    System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Desig ...

  2. 在.NET Core 3.0 Preview上使用Windows窗体设计器

    目录 介绍 软件要求 克服限制 证明问题 解决方案 使用代码 兴趣点 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.NET Core 3.0的正式可用 ...

  3. C# winFrom窗体设计问题-部分文件打不开窗体设计器 变成类.cs

    https://zhidao.baidu.com/question/1513483178103163220.html C# winform程序设计的时候,出现了问题.默认主窗体form1(改名form ...

  4. Windows 窗体设计器中的设计时错误

    在用 VS.NET进行窗体设计的时候,经常会遇到这样的问题:我们需要在构造函数或者在OnLoad事件中进行自己的一些初始化操作,比如连接一个数据库.调用一个资源文件或者后期绑定一个组件.如果代码通过编 ...

  5. 通过用 .NET 生成自定义窗体设计器来定制应用程序

    本文讨论: ? 设计时环境基本原理 ? 窗体设计器体系结构 ? Visual Studio .NET 中窗体设计器的实现 ? 为自己的应用程序编写窗体设计器而需要实现的服务 在很多年中,MFC 一直是 ...

  6. 在 Visual Studio 2019 中为 .NET Core WinForm App 启用窗体设计器

    当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的.即使在窗体文件上右击选择"显 ...

  7. 自定义窗体设计器-控件测试

    自定义窗体设计器-控件测试 基于.net2的自定义窗体设计器控件(类似visual studio的vb,c#设计器,其实就是vs2005的设计器) 控件由四部分组成:工具栏,工具箱,绘图设计区,属性框 ...

  8. 知识管理系统Data Solution研发日记之六 窗体设计器

    知识管理系统Data Solution已经有五篇文章对它进行介绍,可以通过下面的连接,找到前面的文章 知识管理系统Data Solution研发日记之一 场景设计与需求列出 知识管理系统Data So ...

  9. econtrol窗体设计器

    试用了几种窗体设计器以后发现还是ECONTROL最好用. 转载于:https://www.cnblogs.com/hnxxcxg/archive/2010/05/16/2940949.html

  10. 解决VS2019窗体设计器不显示

    尝试了多种方法都无效,最终解决了!我按步骤回忆记录下! 1.尝试重新安装VS,没有效果. 2.图下操作并重启仍然无效. 3.找到解决方案图标,点击右键,打开方式选择VS2019,注意不要选择错了,这里 ...

最新文章

  1. arcengine遍历属性表_【程序之坑】小程序云开发导出数据到excel表
  2. python 垃圾回收器_Python 垃圾回收机制详细
  3. 3.在slave1机器下载3个安装包解压后,复制给master机器
  4. 自监督和语言监督我全都要?Facebook多模态预训练模型SLIP给你答案!
  5. mysql blob key length_mysql – 没有密钥长度的密钥规范中使用的BLOB / TEXT列’bestilling’...
  6. WPF 展示视频修改为WriteableBitmap
  7. php 重定向到https,php – Laravel 5 – 重定向到HTTPS
  8. 【APICloud系列|6】使用APICloud接入客服系统美洽获取Appkey配置
  9. 第五章 MVC之Bundle详解
  10. 加速进军自动驾驶领域,福特计划推出自动驾驶出租车服务
  11. css 滚动条样式_那些你总是记不住但又总是要用的css
  12. JUnit5基本用法
  13. 安装php服务器,安装php服务器环境的方法
  14. Hive找出所有科目成绩都大于某一学科平均成绩的学生
  15. Axure rp 9 的汉化破解版
  16. java组件及事件处理(13)--ActionListener监听算平方数
  17. H5viedo标签播放*.Mp4听得到音频却不显示视频的解决办法
  18. 0016_光源和打光(1)
  19. Android音频子系统(十二)------抖音直播功耗问题解析
  20. thingsboard安装源码编译

热门文章

  1. 自动驾驶 10-3: 全球导航卫星系统 (GNSS)The Global Navigation Satellite Systems
  2. 阿里云云计算 11 ECS初体验-- 动手实验
  3. TensorFlow by Google CNN卷积神经网络 Machine Learning Foundations: Ep #3 - Convolutions and pooling
  4. 翻译:where在Swift中的用法
  5. WKWebView终极指南
  6. 四数之和 leetcode
  7. 在构造函数中释放对象本身
  8. 多小区下小区上行速率的计算(2)
  9. 15投影矩阵与Moore-Penrose逆(2)
  10. php mysqli 字段缺失,mysqli 为什么不提示字段异常