關于解耦問題,如圖:

TTabSheet 里有一個 TFrame , TFrame 里有一個 TButton 叫 BtnClose
現在要求 BtnClose 可以關閉并且釋放掉 TTabSheet ,并且要引發 OnClose 事件。
這就涉及到一個問題,BtnClose 在自殺。標準的 TButton 可能還不會出問題,但漂亮的 cxButton 就有問題了。
我用了PostMessage方法,向 FrmMain 窗口發送自定義消息來解決這個“耦合糾纏”的問題。
本例所用到的知識點:
1. 通過類名字串,來創建類。FindClass 函數
2. "可視化繼承",FormMain,TWorkFrameOne 都通過基類,在 IDE 中“拖”出來的。
3. 面向對象的經典寫法之一。
4. 本例重點:解耦問題。
[本例源碼下載](https://www.jianguoyun.com/p/DdTKV4QQxMf4BRiRoUQ), dephi xe8編寫.
- 0.1 教程說明
- 0.2 delphi xe8 安裝
- 0.2.2 XE 10.3.3 安裝
- 0.3 delphi IDE 的非常必要的配置
- 0.4 調試中的異常處理
- 0.5 工程路徑設置
- 0.6 開發工具界面切換成中文的問題
- 一、實用技巧
- 0.嘗試為event取名叫伊文特
- 1.各種(變量)數據在內存中是什么樣子的?
- 2
- 3
- 4.亂碼問題
- 5
- 二、多線程
- 三、DLL相關
- 1.DLL中函數參數如何設計?
- 2.調用易語言DLL識別驗證碼
- 四、界面設計
- 1.關于解耦問題
- 2.登錄功能設計
- 五、面向對象基礎知識
- 1.窗口間傳遞值
- 3.避免又臭又長的裹腳布
- 2.擴展 TStringGrid , delphi 7 示例
- 六、初學者誤區集錦
- 七 TList 集合
- 1.附加信息Pointer設計
- 2.用 TList 來建立組件間的聯系
- 3.泛型 TList<T> 示例