控制項是一些行為標準化了的視窗,一般用於對話方塊或其它視窗中充當與使用者互動的元素。在Visual C++中,可以使用的控制項分成三類:
(1)Windows標準控制項
Windows標準控制項由Windows作業系統提供,在Windows 95中還提供了一些新增的控制項。所有這些控制項對象都是可程式化的,我們可以使用VisualC++提供的對話方塊編輯器把它們添加到對話方塊中。Microsoft基礎類庫(MFC)提供了封裝這些控制項的類,它們列於表6.1。
表6.1 Windows標準控制項
控制項 |
MFC類 |
描述 |
動畫 |
CAnimateCtrl |
顯示連續的AVI視訊剪輯 |
按鈕 |
CButton |
用來產生某種行為的按鈕,以及複選框、單選鈕和組框 |
組合框 |
CComboBox |
編輯框和列表框的組合 |
編輯框 |
CEdit |
用於鍵入文本 |
標題頭 |
CHeaderCtrl |
位於某一行文本之上的按鈕,可用來控制顯示檔案的寬度 |
熱鍵 |
CHotKeyCtrl |
用於通過按下某一按鍵組合來很快的執行某些常用的操作 |
圖象列表 |
CImageList |
一系列圖象(典型情況下是一系列表徵圖或位元影像)的集合。圖象列表本身不是一種控制項,它常常是和其它控制項一起工作,為其它控制項提供所用的圖象列表 |
列表 |
CListCtrl |
顯示文本及其表徵圖列表的視窗 |
列表框 |
CListBox |
包括一系列字串的列表 |
進度 |
CProgressCtrl |
用於在一較長操作中提示使用者所完成的進度 |
多格式文本編輯 |
CRichEditCtrl |
提供可設定字元和段落格式的文本編輯的視窗 |
捲軸 |
CScrollBar |
為對話方塊提供控制項形式的捲軸 |
滑塊 |
CSliderCtrl |
包括一個有可選標記的滑塊的視窗 |
旋轉按鈕 |
CSpinButtonCtrl |
提供一對可用於增減某個值的箭頭 |
靜態文本 |
CStatic |
常用於為其它控制項提供標籤 |
狀態條 |
CStatusBarCtrl |
用於顯示狀態資訊的視窗,同MFC類CStatusBar類似 |
續表6.1
控制項 |
MFC類 |
描述 |
選項卡 |
CTabCtrl |
在選項卡對話方塊或屬性頁面中提供具有類似筆記本中使用的分隔標籤的外觀的選項卡 |
工具條 |
CToolBarCtrl |
具有一系列命令產生按鈕的視窗,同MFC類CToolBar類似 |
工具提示 |
CToolTipCtrl |
一個小的彈出式視窗,用於提供對工具條按鈕或其它控制項功能的簡單描述 |
樹 |
CTreeCtrl |
用於顯示一系列的項的繼承結構 |
前面提到過,在MFC中,類CWnd是所有視窗類別的基類,很自然的,它也是所有控制項類的基類。Windows標準控制項在以下環境下提供:
- Windows 95
- Windows NT 3.51及以後版本
- Win32s 1.3
- 注意:
- Visual C++ 4.2及以後版本不再支援Win32s。
(2)ActiveX控制項
ActiveX控制項可用於對話方塊中,也可用於HTML文檔中。這種控制項過去被稱為OLE控制項。本書將在專門的章節中來講述關於ActiveX控制項的知識。這裡僅指出ActiveX控制項使用了與標準控制項完全不同的介面和實現方法。
(3) 其它MFC控制項類
除了Windows標準控制項和自己編寫的或者來自於第三方軟體開發商的ActiveX控制項以外,MFC還提供了另外三種控制項,它們由下面的三個類進行封裝:
- 類CBitmapButton用於建立以位元影像作為標籤的按鈕,位元影像按鈕最多可以包括四個位元影像圖片,分別代表按鈕的四種不同狀態。
- 類CCheckListBox用於建立挑選清單框,這種列表框中的每一項前面有一個複選框,以決定該項是否被選中。
- 類CDragListBox用於建立一種特殊的列表框,這種列表框允許使用者移動清單項目。
在本章我們僅講述第一類控制項,即Windows標準控制項。所涉及的內容包括各個控制項的使用及相應的技巧。