MFC 訪問控件的幾種方法

訪問控件的方法 

  控件是一種交互的工具,應用程序需要通過某種方法來訪問控件以對其進行查詢和設置.訪問控件有四種方法: 

  1.  利用對話框的數據交換功能訪問控件.這種方法適用於自動創建的控件.先用ClassWizard爲對話框類加入與控件對應的數據成員變量,然後在適當的時侯調用UpdateData,就可以實現對話框和控件的數據交換.這種方法只能交換數據,不能對控件進行全面的查詢和設置,而且該方法不是針對某個控件,而是針對所有參與數據交換的控件.另外,對於新型的Win32控件,不能用ClassWizard創建數據成員變量.因此,該方法有較大的侷限性. 

  2.  通過控件對象來訪問控件.控件對象對控件進行了封裝,它擁有功能齊全的成員函數,用來查詢和設置控件的各種屬性.通過控件對象來訪問控件無疑是最能發揮控件功能的一種方法,但這要求程序必需創建控件對象並使該對象與某一控件相連.對於自動創建的控件,可利用ClassWizard方便地創建與控件對應的控件對象.對於手工創建的控件,因爲控件本身就是通過控件對象創建的,所以不存在這一問題. 

  3.  利用CWnd類的一些用於管理控件的成員函數來訪問控件.這些函數已在表5.5列出.只要向這些函數提供控件的ID,就可以對該控件進行訪問.使用這些函數的好處是無需創建控件對象,就可以對控件的某些常用屬性進行查詢和設置.該方法對自動和手工創建的控件均適用. 

  4.  用CWnd::GetDlgItem訪問控件.該函數根據參數說明的控件ID,返回指定控件的一個CWnd型指針,程序可以把該指針強制轉換成相應的控件類指針,然後通過該指針來訪問控件.該方法對自動和手工創建的控件均適用.在上一章中就曾經使用過這種方法,讀者可參見5.3.6.其實該方法與通過控件對象來訪問控件的方法在本質上是一樣的,在表5.5中亦包括GetDlgItem函數,但爲了強調其重要性,這裏把它單獨列爲一種方法. 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章