複製鏈接
請複製以下鏈接發送給好友

控件

鎖定
控件是指對數據和方法的封裝。控件可以有自己的屬性和方法,其中屬性是控件數據的簡單訪問者,方法則是控件的一些簡單而可見的功能、控件創建過程包括設計、開發、調試(就是所謂的3Ds開發流程,即Design、Develop、Debug)工作, 然後是控件的使用。
設計控件是一項繁重的工作。自行開發控件與使用控件進行可視化程序開發存在着極大的不同,要求程序員精通面向對象程序設計。創建控件的最大意義在於封裝重複的工作,其次是可以擴充現有控件的功能。
中文名
控件
概    念
對數據和方法的封裝
簡單訪問者
屬性
分    類
用户界面控件、圖表控件等

控件內容簡介

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

控件分類

用於開發構建用户界面(UI)的控件,幫助完成軟件開發中視窗、文本框、按鈕、下拉式菜單界面元素的開發。
代表:DXperience、WebUIStudio Premier、BCGControlBarComponentOne Studio、NetAdvantage、Xtreme Toolkit等。
用於開發圖表的控件,幫助軟件實現數據可視化,實現開發時較難獨立完成的複雜圖表。
代表:FlexChart、TeeChartAnyChartChartDirector、chart fx、Visifire、Iocomp等。
用與開發報表的控件,在軟件中實現報表的瀏覽查看、設計、編輯、打印等功能。
代表:stimulsoft report、FastReport、ActiveReports等。
專門用於開發表格(CELL)的控件,主要實現網格中數據處理和操作的功能。
代表:WebGrid Enterprise、Spread、FlexGrid等。
條形碼控件
用與條形碼生成、掃描、讀取和打印的控件。
代表:Barcode XpressTBarcodeBarcode Reader Toolkit、BarCode ComponentOne等。
一般是指幫助軟件實現圖像瀏覽與簡單編輯功能的控件。
文檔處理控件
一般指實現文檔文件的瀏覽、編輯功能的控件。
代表: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 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 本身還提供了下列控件類:
CCheckListBox
控件{Controls}:一種基於微軟公司ActiveX技術的可重用的軟件組件。可用這些組件增加網頁、桌面應用程序軟件開發工具交互性以及更多的功能,例如動畫效果或彈出式選單ActiveX控件可用不同程序設計語言編寫,包括Java、C++和Visual Basic