控制項

控制項

徠控制項是指對數據和方法的封裝。控制項可以有自己的屬性和方法,其中屬性是控制項數據的簡單訪問者,方法則是控制項的一些簡單而可見的功能、控制項創建過程包括設計、開發、調試(就是所謂的3Ds開發流程,即Design、Develop、Debug)工作,然後是控制項的使用。

設計控制項是一項繁重的工作。自行開發控制項與使用控制項進行可視化程序開發存在著極大的不同,要求程序員精通面向對象程序設計。創建控制項的最大意義在於封裝重複的工作,其次是可以擴充現有控制項的功能。

概述


1、控制項應用
使用現成的控制項來開發應用程序時,控制項工作在兩種模式下:設計時態和運行時態。
在設計時態下,控制項顯示在開發環境下的一個窗體中。設計時態下控制項的方法不能被調用,控制項不能與最終用戶直接進行交互操作,也不需要實現控制項的全部功能。
在 運行狀態下,控制項工作在一個確實已經運行的應用程序中。控制項必須正確地將自身表示出來,它需要對方法的調用進行處理並實現與其他控制項之間有效的協同工作。
2、控制項創建
創建控制項就是自行設計製作出新的控制項。
設計控制項是一項艱苦的工作。對於控制項的開發者,控制項是純粹的代碼。實際上,創建新控制項使我們回到傳統開發工具的時代。雖然這是一個複雜的過程,但也是一個一勞永逸的過程。
控制項開發者應該掌握的三項主要內容是:屬性、事件和方法。

分類


用戶界面控制項
用於開發構建用戶界面(UI)的控制項,幫助完成軟體開發中視窗、文本框、按鈕、下拉式菜單等界面元素的開發。
代表:DXperience、WebUIStudio Premier、BCGControlBar、ComponentOne Studio、NetAdvantage、Xtreme Toolkit等。
圖表控制項
用於開發圖表的控制項,幫助軟體實現數據可視化,實現開發時較難獨立完成的複雜圖表。
代表:FlexChart、TeeChart、AnyChart、ChartDirector、chart fx、Visifire、Iocomp等。
報表控制項
用與開發報表的控制項,在軟體中實現報表的瀏覽查看、設計、編輯、列印等功能。
代表:stimulsoft report、FastReport、ActiveReports等。
表格控制項
專門用於開發表格(CELL)的控制項,主要實現網格中數據處理和操作的功能。
代表:WebGrid Enterprise、Spread、FlexGrid等。
條形碼控制項
用與條形碼生成、掃描、讀取和列印的控制項。
代表:Barcode Xpress、TBarcode、Barcode Reader Toolkit、BarCode ComponentOne等。
圖像處理控制項
一般是指幫助軟體實現圖像瀏覽與簡單編輯功能的控制項。
代表:ImagXpress、Image Uploader、leadtools等。
文檔處理控制項
一般指實現文檔文件的瀏覽、編輯功能的控制項。
代表:add-in express for office and vcl、Aspose、TX Text Control、C1Word等。

庫類控制項


由 Microsoft 基礎類庫 (MFC) 提供的其他控制項類(以前稱為OLE 控制項),可以在 Windows 應用程序的對話框中使用,或在萬維網的 HTML 頁中使用。有關更多信息,請參見 MFC ActiveX 控制項。

公共控制項


Windows 操作系統總是提供了若干 Windows 公共控制項。這些控制項對象都是可編程的,Visual C++對話框編輯器支持將這些控制項對象添加到對話框。Microsoft 基礎類庫 (MFC) 提供相應的類來封裝這些控制項中的每一個,如表 Windows 公共控制項和 MFC 類中所示。(表中的某些項有進一步描述它們的相關主題。有關沒有主題的控制項的信息,請參見MFC 類的文檔。)
CWnd 類是所有窗口類(包括所有控制項類)的基類。下列環境支持 Windows 公共控制項:
Windows 95Windows 98 和 Windows 2000。
Windows NT 3.51版及更高版本。
Win32 系列 1.3 版(Visual C++ 4.2 版及更高版本不支持 Win32 系列)。
舊式公共控制項在 Windows 的早期版本中同樣可用,這些舊式公共控制項包括複選框、組合框、編輯框、列表框、選項按鈕、普通按鈕。
應用示例
列表框示例
要在 Microsoft Office Excel 2003 和早期版本的 Excel 中添加列表框,請單擊“窗體”工具欄上的“列表框”按鈕。然後,創建包含單元格 B2:E10 的列表框。如果未顯示“窗體”工具欄,請指向“視圖”菜單上的“工具欄”,然後單擊“窗體”。要在 Excel 2007 中添加列表框,請依次單擊“開發工具”選項卡、“插入”,然後單擊“窗體控制項”部分中的“列表框”。右鍵單擊列表框,然後單擊“設置控制項格式”。鍵入以下信息,然後單擊“確定”。要指定列表的區域,請在“數據源區域”框中鍵入 H1:H20。要在單元格 G1 中鍵入數值(根據在列表中選擇的項目),請在“單元格鏈接”框中鍵入 G1。注意:INDEX() 公式使用 G1 中的值返回相應的列表項目。在“選定類型”下,確保選擇“單選”選項。單擊“確定”。注意:僅在您使用 Microsoft Visual Basic for Applications 過程返回列表值時,“複選”和“擴展”選項才有用。另請注意,使用“三維陰影”複選框可使列表框具有三維外觀。列表框應顯示項目列表。要使用列表框,請單擊任意單元格,這樣不會選擇列表框。如果您單擊列表中的某一項目,單元格 G1 將更新為一個數字,以指示所選項目在列表中的位置。單元格 A1 中的 INDEX 公式使用此數字顯示項目的名稱。
組合框示例
要在 Excel 2003 和早期版本的 Excel 中添加組合框,請單擊“窗體”工具欄上的“組合框”按鈕。要在 Excel 2007 中添加組合框,請依次單擊“開發工具”選項卡、“插入”,然後單擊“窗體控制項”部分中的“組合框”。創建包含單元格 B2:E2 的對象。右鍵單擊組合框,然後單擊“設置控制項格式”。輸入以下信息,然後單擊“確定”:要指定列表的區域,請在“數據源區域”框中鍵入 H1:H20。要在單元格 G1 中鍵入數值(根據在列表中選擇的項目),請在“單元格鏈接”框中鍵入 G1。注意:INDEX 公式使用 G1 中的值返回相應的列表項目。在“下拉顯示項數”框中,鍵入 10。此條目決定在必須使用滾動條查看其他項目之前顯示的項目數。注意:“三維陰影”複選框是可選的;使用它可使下拉框或組合框具有三維外觀。下拉框或組合框應顯示項目列表。要使用下拉框或組合框,請單擊任意單元格,這樣不會選擇對象。如果您單擊下拉框或組合框中的某一項目,單元格 G1 將更新為一個數字,以指示所選項目在列表中的位置。單元格 A1 中的 INDEX 公式使用此數字顯示項目的名稱。
微調框示例
徠要在 Excel 2003 和早期版本的 Excel 中添加微調框,請單擊“窗體”工具欄上的“微調框”按鈕,然後創建包含單元格 B2:B3 的微調框。將微調框的大小調整為大約列寬度的四分之一。要在 Excel 2007 中添加微調框,請依次單擊“開發工具”選項卡、“插入”,然後單擊“窗體控制項”部分中的“數值調節鈕”。右鍵單擊微調框,然後單擊“設置控制項格式”。輸入以下信息,然後單擊“確定”:在“當前值”框中,鍵入 1。此值將初始化微調框,以便 INDEX 公式指向列表中的第一個項目。在“最小值”框中,鍵入 1。此值會將微調框的頂部限制為列表中的第一個項目。在“最大值”框中,鍵入 20。此數字指定列表中條目的最大數。在“步長”框中,鍵入 1。此值控制微調框控制項將當前值增大多少。要在單元格 G1 中鍵入數值(根據在列表中選擇的項目),請在“單元格鏈接”框中鍵入 G1。單擊任意單元格,這樣不會選擇微調框。如果您單擊微調框中的向上控制項或向下控制項,單元格 G1 將更新為一個數字,以指示微調框的當前值與微調框步長的和或差。然後,此數字將更新單元格 A1 中的 INDEX 公式以顯示下一項目或上一項目。如果您在當前值為 1 時單擊向下控制項,或者在當前值為 20 時單擊向上控制項,則微調框值不會更改。
滾動條示例
要在 Excel 2003 和早期版本的 Excel 中添加滾動條,請單擊“窗體”工具欄上的“滾動條”按鈕,然後創建高度為單元格 B2:B6 且寬度大約為列寬度的四分之一的滾動條。要在 Excel 2007 中添加滾動條,請依次單擊“開發工具”選項卡、“插入”,然後單擊“窗體控制項”部分中的“滾動條”。右鍵單擊滾動條,然後單擊“設置控制項格式”。鍵入以下信息,然後單擊“確定”。在“當前值”框中,鍵入 1。此值將初始化滾動條,以便 INDEX 公式指向列表中的第一個項目。在“最小值”框中,鍵入 1。此值會將滾動條的頂部限制為列表中的第一個項目。在“最大值”框中,鍵入 20。此數字指定列表中條目的最大數。在“步長”框中,鍵入 1。此值控制滾動條控制項將當前值增大多少。在“頁步長”框中,鍵入 5。此條目控制當您單擊滾動條中滾動框的任意一邊時將當前值增大多少。要在單元格 G1 中鍵入數值(根據在列表中選擇的項目),請在“單元格鏈接”框中鍵入 G1。注意:“三維陰影”複選框是可選的;使用它可使滾動條具有三維外觀。單擊任意單元格,這樣不會選擇滾動條。如果您單擊滾動條中的向上控制項或向下控制項,單元格 G1 將更新為一個數字,以指示滾動條的當前值與滾動條步長的和或差。此數字在單元格 A1 中的 INDEX 公式中使用,以顯示當前項目的下一項目或上一項目。您還可以拖動滾動條以更改值,或單擊滾動條中滾動框的任意一邊以將該值增大 5(“頁步長”值)。如果您在當前值為 1 時單擊向下控制項,或者在當前值為 20 時單擊向上控制項,則滾動條不會更改。

其他控制項


除了封裝所有 Windows 公共控制項的類和支持對您自己的 ActiveX 控制項進行編程(或使用其他應用程序提供的 ActiveX 控制項)的類以外,MFC 本身還提供了下列控制項類:
CBitmapButton
CCheckListBox
CDragListBox
控制項{Controls}:一種基於微軟公司ActiveX技術的可重用的軟體組件。可用這些組件增加網頁、桌面應用程序和軟體開發工具的交互性以及更多的功能,例如動畫效果或彈出式選單。ActiveX控制項可用不同程序設計語言編寫,包括Java、C++和Visual Basic。