zoukankan      html  css  js  c++  java
  • Delphi Form Designer (窗体设计器)之五

    一个示例程序

    为了说明怎样同时使用不同的组件,建立类似Windows Notepad的Windows标准文本编辑程序的应用程序原型(prototype)。

    Note

    建立文本编辑程序听起来不大富有魅力,坦率地讲的确如此。然而它会教给我们如何解决在Delphi中编程时遇到的现实问题。它也许没有什么吸引力,但它几乎肯定会教会我们不曾遇到的新东西。

    New Term

    应用程序原型(prototype),外观上像工作应用程序,但缺少其全部的功能,通常因为他在设计的初级阶段。

    Note

    Delphi对应用程序的快速原型开发是完美的,可用比传统窗口编程工具少得多的事件设计和显示主屏幕与对话框。然而这并不是说Delphi只为原型开发,它完全能处理所有32位窗口编程的需要。

    第一步、开始新的应用程序

    (1)从主菜单选【File | New | Application】;

    (2)选择Form1窗体,改变其Name属性为MainForm

    (3)改变MainForm窗体的Caption属性为“Scratch Pad 1.0”;

    (4)从主菜单选择【Project | Options…】或Shift+Ctrl+F11。在Application标签页中更改Title文本框为“Scratch Pad 1.0”,点击OK关闭Project Options对话框,如下图:

    0147

    第二步、增加工具栏

    现在大多数窗口应用程序都有工具栏。建立工具栏本身需要几个步骤,不准备在此解释Delphi中工具栏的详细情况,在以后的学习中会详细讨论的,现在只是增加工具栏作为以后真正工具栏的占位标志符。

    (1)在组件面板上单击Win32标签,选ToolBar组件

    (2)在窗体上任意点击增加工具栏,注意工具栏自动与窗体顶端对齐;

    (3)在工具栏上右击New Button,按钮出现在工具栏上;

    (4)重复步骤3增加第二个按钮。

    这就是对工具栏所做的一切。

    第三步、增加状态栏

    (1)在组件面板上点击Win32标签,选择StatusBar组件

    (2)在窗体上任意点击,状态栏自动放置到了窗体的底部,因为它的Align属性缺省值为alBottom

    (3)改变Name属性为StatusBar;

    窗体现在如下所示:

    0148

    第四步、增加备注(Memo)组件

    我们还需要某些组件来允许用户进行文本的输入,可用Memo组件来实现。

    (1)在组件面板上点击Standard标签,选择Memo组件,把它任意放在窗体上;

    (2)改变Name属性为Memo

    (3)双击Lines属性的Value栏,显示出String List Editor对话框,删除所有内容;

    (4)改变ScrollBar属性为ssVertical

    (5)改变Font属性的Name属性为Fixedsys

    (6)改变Align属性为alClient,Memo将扩张充满工具栏和状态栏之间的用户区域。

    现在看上去越来越像真正的应用程序了。

    Tip

    按ESC键来选择当前选择控件的父控件。例如,窗体用户区为组件覆盖,不可能选择窗体本身,通过选择Memo组件并按ESC键,可以选中Memo的父控件——窗体。也可以从Object Inspector中的Component Selector中选择窗体。

    注意所有控件自动重设大小来保持与其父窗口的大小,这是Align属性的一个主要优点。现在看起来如下所示:

    0149

    运行程序

    点击Run按钮来运行程序。可在窗口用户区中输入文本或按工具栏的按钮(此时没有任何作用)。记住这是原型程序,主要是为了快速显示。在以后还会为此程序添加更多的内容。

    现在我们保存它,因为以后还要用到该程序,从主菜单选择【File | Save All】,把主窗体的源代码保存为SPMain.pas,工程保存为Scratch.dpr

    以上代码均在Delphi 7中测试通过,示例代码下载:窗体设计器之五示例程序.rar

  • 相关阅读:
    494. Target Sum 添加标点符号求和
    636. Exclusive Time of Functions 进程的执行时间
    714. Best Time to Buy and Sell Stock with Transaction Fee有交易费的买卖股票
    377. Combination Sum IV 返回符合目标和的组数
    325. Maximum Size Subarray Sum Equals k 和等于k的最长子数组
    275. H-Index II 递增排序后的论文引用量
    274. H-Index论文引用量
    RabbitMQ学习之HelloWorld(1)
    java之struts2的数据处理
    java之struts2的action的创建方式
  • 原文地址:https://www.cnblogs.com/pchmonster/p/2322684.html
Copyright © 2011-2022 走看看