2012-03-08 34 views
1

我厭倦了反覆編寫相同的代碼;我想創建一個包含組件,代碼等的(主)表單,它們將成爲我創建的每個應用程序的一部分。 (認爲​​視覺形式繼承。)...你會包括什麼功能?你把所有的主要形式放在什麼位置?

我喜歡我的形式來保存他們的位置和大小,通過配置文件,例如,所以我會包括該功能。我可能還會包含使用F11鍵進行全屏顯示的功能。

你還包括什麼?

+2

這種取決於應用程序的類型,不是嗎? – 2012-03-08 06:09:04

+0

對於將來對潛在性能問題的診斷,我會添加表單創建時間統計信息收集(可在需要時啓用) - 請參閱http://stackoverflow.com/questions/2442127/how-can-a-delphi-tform-tpersistent -object-calculate-its-own-construction-and-d – mjn 2012-03-08 07:08:27

+0

我有一個基類,用於在註冊表中存儲表單的位置和大小 – Nat 2012-03-08 07:47:12

回答

2

設置AutoScroll = False強制Delphi將窗體的客戶端大小(而不是綁定大小)存儲到DFM中,以便在不同的操作系統上獲得相同的客戶端窗體大小。

,並從同一崗位報Ian Boyd

因爲我想做個優秀的開發人員,我讓我的形式的尊重用戶的字體偏好。在我的所有形式的OnCreate我所說的StandardizeForm(Self)功能:

  • 縮放的形式來匹配用戶的默認字體大小
  • 變化上的所有控件的字體形式,以用戶的喜好
  • 問題如果ODS形式設置錯誤地設置爲Scaled
  • 問題的ODS和斷點如果AutoScroll假(並將其設置爲true)
  • 問題的ODS和斷點如果ShowHint是假的(和轉的IT上)
0

我有一個Delphi框架,通過從D5-D2007幾個化身去......我想我有一個2007年的版本。我確實有SDI/MDI版本的東西......這裏有一個簡短的功能列表。

主要形式具有用於所有數據導航和交互的數據源屬性。 所有標準菜單項(EDT:剪切,複製,文件:關閉,分機;幫助:等) 曾經有進行登錄的抽象用戶對象「主」數據模塊......一個子孫數據模塊是用於特定數據庫類型,MQSQL,IB等。 主數據模塊具有通用的「PrepareDataset」方法,後代隨後將使用正確的連接對象設置每個數據集類型。

我也有一個通用的「維修表」,這是用來編輯表單上的所有與網格基礎查詢表,如「PhoneNumberTypes」或「國家」。

框架的工廠做了以下... - 主要形式包含在虛擬工廠爲子窗體。 - 每個表單必須在單元的初始化 中進行「FormFactory.RegisterForm」調用。 - 登記呼叫包括一個路徑,則priv,字幕 參數 - 路徑:(即「文件\打開\聯繫人」)的主要形式創建在該位置 一個 菜單項 - 說明:菜單項 的字幕 - 優惠:(即'TContanctForm'),工廠會對用戶 進行檢查以允許創建表單。

...好的名單還在繼續......但它真的很棒。我認爲關於它的設計最好的部分是每個開發人員都能夠開發一個「表單」,而不需要或不需要最新的框架代碼。只要他們進行了註冊調用,並從TFrameWorkChild表單中派生出來......這一切都奏效了。

相關問題