程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 深入VCL理解BCB的消息機制3

深入VCL理解BCB的消息機制3

編輯:vc教程

方法3 來自TApplication的方法

不用我多廢話,大家都知道TApplication在BCB中的重要性。在BCB的幫助中指出:TApplication、TScreen和TForm構成了所有BCB風格的Win32 GUI程序的脊梁,他們控制著您程序的行為。TApplication類提供的屬性和方法封裝了標准Windows程序的行為。TApplication表現了在Windows操作中創建、運行、支持和銷毀應用程序的基本原理。因此,TApplication大大簡化了開發者和Windows環境之間的接口。這正是BCB的RAD特性。

TApplication封裝的標准Windows行為大致包括如下幾部分:

1> Windows 消息處理

2> 上下文關聯的在線幫助

3> 菜單的快捷鍵和鍵盤事件處理

4> 異常處理

5> 管理由操作系統定義的程序基礎部分,如:MainWindow 主窗口、WindowClass 窗口類等。

一般情況下,BCB會為每個程序自動生成一個TApplication類的實例。這部分源碼可以在yourproject.cpp文件中見到(這裡假定您的工程名稱就叫yourproject.bpr)。

當然TApplication是不可見的,他總是在您的Form背後默默的控制著您的程序的行為。但也不是找不到蛛絲馬跡。如果您新建一個程序(New Application),然後不作任何改動,編譯運行的話,你會發現程序窗體的Caption是Form1,但在Windows的狀態條上的Caption確寫著project1的字樣。這就是TApplication存在的證據。當然,這只是一種臆測,實戰的方法應該打開BCB附帶的WinSight來查看系統的進程。您可以清楚的看到TApplication類的存在,他的大小是0(隱藏的嘛),然後才是TForm1類。

好了,既然TApplication封裝了消息處理的內容。我們就研究一下TApplication的實際動作吧。實際上消息到達BCB程序時,最先得到它們的就是TApplication對象。經由TApplication之後,才傳遞給Form的。以前的方法都是重載TForm的方法,顯然要比本文所提到的方法要晚一些收到消息。對您來說,是不是希望在第一時間收到消息並處理它們呢?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved