您对所有主要表单有什么功能?

时间:2012-03-08 04:32:48

标签: delphi

我厌倦了一遍又一遍地编写相同的代码;我想创建一个包含组件,代码等的(主)表单,它将成为我创建的每个应用程序的一部分。 (想想视觉形式的继承。)......你会包括哪些功能?

例如,我喜欢通过配置文件保存位置和大小的表单,因此我将包含该功能。我可能还包括使用F11键将表单全屏显示的功能。

你还包括什么?

2 个答案:

答案 0 :(得分:2)

设置AutoScroll = False以强制Delphi将表单的客户端大小(而不是绑定大小)存储到DFM,以便在不同的操作系统上获得相同的客户端表单维度。

并引用同一篇文章中的Ian Boyd

  

因为我试图成为一名优秀的开发人员,所以我的表单尊重用户的字体偏好。在我所有表单的OnCreate期间,我调用StandardizeForm(Self)函数:

     
      
  • 缩放表单以匹配用户的默认字体大小
  •   
  • 将表单上所有控件上的字体更改为用户的首选项
  •   如果表单设置错误地设置为Scaled ,则
  • 发布ODS   
  • 如果AutoScroll为false(并将其设置为true)
  • ,则会发出ODS和断点   
  • 如果ShowHint为假(并将其打开)
  • ,则会发出ODS和断点   
  •   

答案 1 :(得分:0)

我有一个Delphi框架经历了D5-D2007的几个版本......我想我有一个2007版本。我确实有这个东西的SDI / MDI版本......这里有一个简短的功能列表。

主窗体具有用于所有数据导航和交互的数据源属性。 所有标准菜单项(编辑:剪切,复制;文件:关闭,分机;帮助:等..) 有一个“主”数据模块有一个用于登录的抽象用户对象...后代数据模块用于特定的数据库类型,MQSQL,IB等。 主数据模块具有通用的“PrepareDataset”方法,后代将使用正确的连接对象设置每个数据集类型。

我还有一个通用的“维护表单”,用于编辑表单上带网格的所有基本查找表,如“PhoneNumberTypes”或“States”。

框架的工厂做了以下......   - 主表单包含一个用于子表单的虚拟工厂。   - 每个表单都必须在初始化时调用“FormFactory.RegisterForm”    单位。   - 注册呼叫包括路径,priv,标题    参数   - 路径:(即'File \ Open \ Contacts')主窗体创建一个    该位置的菜单项   - 标题:菜单项的标题   - Priv :(即'TContanctForm')工厂对用户进行检查    允许表单的创建。

......好了这个名单......但是真的很棒。我认为它的设计最好的部分是每个开发人员都能够开发一个“表单”,而不需要或拥有最新的框架代码。只要他们进行了注册调用,以及来自TFrameWorkChild表单的后代......这一切都正常工作。