MFC各種控制項屬性匯總

來源:互聯網
上載者:User

 

VC++6.0控制項工具箱:

 

2 圖形控制項(picture):常用於顯示位元影像(Bitmap)和表徵圖(Icon)

3靜態文本(Static Text):用來在指定的位置顯示特定的字串,一般用來標識附近另一個控制項的內容。顯示在靜態文本控制項中的字串一般不再改變,但是在需要的時候,也可以通過調用相應的函數來進行設定。MFC提供了CStatic類支援靜態控制項。

4 編輯框(Edit Box):用來接收使用者輸入的字串。通過選擇編輯框的選項,編輯框可以接收字串、數字、密碼等;編輯框還可以設定成接收多行字串的模式;可以自動進行大小寫轉換。編輯框可能向其父視窗發送多種控制項通知,如果使用者需要,可以對這些控制項通知進行處理。MFC提供了CEdit類支援編輯框控制項。

5 組成框(Group Box):用來包圍具有邏輯關係的一組控制項,在這些控制項的周圍加上邊界和標題。需注意的是,組成框僅僅是在視覺效果上對控制項進行“成組”,真正的“成組”工作還需要另外一些工作。

6 按鈕(Button):用來接收使用者的命令,應用程式在接收到使用者命令後,通常需要進行一些後台工作。按鈕可以響應單擊或雙擊動作,在按鈕接收到滑鼠動作後,向其父視窗發送相應的控制項通知,使用者可以對這些控制項通知進行訊息映射,從而進行相應的處理。在一個對話方塊中,可以定義一個預設按鈕,這隻要選中按鈕屬性中的“Default”選項。如果在對話方塊活動的時候按下了Enter鍵,則等同於單擊了預設按鈕。MFC提供了CButton類支援按鈕控制項。

7 複選框(Check Box):用來顯示某種可能的選擇,該項選擇是獨立的,使用者可以選中或取消該選項。在選項被選中的時候核選標記出現,選項被取消時核選標記消失。MFC中由CButton類對核選框進行支援,使用者可以通過SetCheck()函數和GetCheck()函數設定或擷取核選框當前的狀態。

8 選項按鈕(Radio Button):用來選擇某種可能的選擇,與核選框不同,該選項不是獨立的。一般是幾個選項按鈕組成一組,同組中的選項按鈕可以有也只能有一個按鈕被選中。MFC同樣使用CButton類對選項按鈕控制項進行支援,SetCheck()函數和GetCheck()函數對選項按鈕也是適用的。

9 組合框(Combo Box):列表框和編輯框的組合,使用者除了可以在列表中對已經存在的選項進行選擇外,還可以輸入新的選擇。MFC提供了CComboBox類對下拉式方塊控制項進行支援。

10 列表框(List Box):用來選擇一系列的可能選擇,使用者通過捲軸可以在這些選擇中瀏覽。在列表框中,可以進行單項選擇,也可以進行多項選擇,這取決於使用者在控制項屬性對話方塊中的設定。MFC提供了CListBox類對列表框控制項進行支援。

11、12 捲軸(Scroll Bar):這包括水平捲軸和垂直捲軸,除了在視覺效果上的方向不同外,水平捲軸在被滾動時發生WM_HSCROLL訊息,而垂直捲軸在被滾動時發送WM_VSCROLL訊息。MFC提供了CScrollBar進行支援。

13 微調按鈕(Spin Button):包括一對緊靠在一起的上下箭頭,使用微調按鈕可以增大或者縮小某個特定的數值。微調按鈕往往都需要一個“夥伴”控制項,這通常都是一個編輯框。當微調按鈕的向上箭頭被單擊時,編輯框中的數字就增大;反之則減小。MFC提供了CPinButtonCtrl類進行支援。

14 進度條(Progress):在進行一項需要佔有較長時間的操作時來反應當前的進度。當操作的進度不斷前進時,進度條就用特色顏色填充進度條框。使用者可以設定進度條的範圍和當前位置。MFC提供了CProgressCtrl類進行支援。

15 滑塊控制項(Slider):通常用來在程式中接受一系列離散的數值。使用者可以設定滑塊控制項的取值範圍,並可以為控制項加上刻度標記以顯示特定位置的含義。MFC提供了CSliderCtrl類進行支援。

16 熱鍵控制(Hot Key):熱鍵控制項看起來就像一個編輯框,但是在熱鍵控制項中能夠立刻反應使用者剛剛按下的鍵組合,這在設定程式的熱鍵時特別有用。熱鍵控制項只是在“視覺”上顯示了按鍵組合,設定熱鍵的工作還需要使用者添加程式碼完成。MFC提供了CHotKey類進行支援。

17 列表控制(List Control):按一定的排列順序顯示一系列帶表徵圖的字串,清單控制項提供了四種顯示模式:大表徵圖、小表徵圖、列表和詳細資料。使用者可以向清單控制項中添加新的項,也可以控制清單控制項的顯示模式。MFC提供了CListCtrl類進行支援。

18 樹形控制項(Tree Control):用來顯示一系列項目的層次關係,最典型的例子是顯示磁碟上的檔案與檔案夾。如果有子項目的話,單擊樹形控制項中的項目可以展開或者收縮其子項目。MFC提供了CTreeCtrl類進行支援。

19 屬性工作表控制項(Tab Control):用來包含大量的控制項,可以滿足使用者顯示或者擷取大量資料的要求。每個屬性工作表又分為好幾個屬性頁面,這些屬性頁面由各自的標籤進行區分,這些屬性頁面中都可以包容其他控制項。在顯示內容表的時候,一次只能夠顯示一個屬性頁面的全部內容,同時顯示其他屬性頁面的標籤,使用者通過單擊標籤開啟相應的屬性頁面。MFC提供了CTabCtrl類進行支援。

20 動畫控制項(Animation):用來播放一段AVI格式的視訊剪輯。使用者可以控制視訊剪輯的播放、停止和定位,但也僅限於這些功能。動畫控制項設定不能播放音頻剪輯,如果使用者需要更高層次的視頻或者音訊支援,請選用MCIWnd控制項。MFC提供了CAnimateCtrl類對動畫控制項進行支援。

21 進階編輯框(Rich Edit):編輯控制項功能的擴充。在進階編輯框中,除了簡單的輸入和編輯字串外,使用者還可以為字元或段落指定特定的格式,使用者甚至還可以向進階編輯框中插入OLE項。進階編輯框基本上實現了一個帶格式的文字編輯器功能,而只需要使用者添加少量的介面。MFC提供了CRichEditCtrl類進行支援。

22 日曆控制項(Month Calender):看似與真正的日曆類似,操作也類似,直觀的為使用者提供了觀察和顯示當前日期的途徑。MFC提供了CMonthCalCtrl類進行支援。

23 日期/時間選取器(Date Time Picker):向使用者提供了一種直觀的選擇日期和時間的方法、日期/時間選取器在外觀上類似於一個組合框,但是當使用者單擊下拉式箭頭時就會展開一個日曆控制項供使用者選擇,而一旦使用者做出了選擇,日期/時間選取器會自動顯示新的日期/時間。MFC提供了CDateTimeCtrl類進行支援。

24 IP地址控制項(IP Adress):IP地址控制項用來輸入和編輯IP地址。該控制面板類似於一個編輯框,但是可以自動對輸入的字元按3個一組進行區分和加間隔圓點。IP地址控制項為開發支援Internet技術的程式提供了方便。MFC提供了CIPAddressCtrl類進行支援。

26 向外延展群組合框(Extended Combo Box):在普通組合框的基礎上還支援映像列表。即,可以在組合框中顯示特定的表徵圖表示相應的選擇,而不僅僅是顯示文本。MFC提供了CComboBoxEx類進行支援。

 

 

所有控制項的公用屬性:

ID:控制項的資源標識。

Visiable:控制項是否可見。

Disabled:控制項是否被禁止、被禁止的控制項無法接受鍵盤和滑鼠輸入。

Group:是否從這個空間開始一個新組。

Tab stop:在程式中是否可以用【Tab】鍵切換到這個控制項。

Help ID:是否給控制項分配一個協助標識,協助標識基於控制項本身的資源標識。

Client edge:給控制項增加一個凹陷的邊界,使整個控制項看起來像是凹下去的一樣。

Static edge:給控制項增加一個邊界。

Modal frame:給控制項增加一個3維的架構,與Client edge相反,它是凸出來的。

Transparent:擁有此屬性的視窗是透明的,它下面的視窗不會被它遮掩住。

Accept files:擁有此屬性的視窗可以接收拖放檔案,如果一個檔案被拖動到這個控制項上面,控制項會收到WM_DROPFILES訊息。

No parent notify:表示控制項不向其父視窗發送WM_PARENTNOTIFY訊息。

Right aligned text:表示文本靠右對齊。

以上屬性可通過控制項的屬性對話方塊進行設定,在屬性對話方塊中按【F1】鍵可以查看屬性的協助資訊。

 

每一種控制項都由一個MFC控制項類來管理,當通過資源編輯器在對話方塊上添加一個控制項時,visualC++會自動為控制項類產生一個執行個體,即對象,並調用建構函式,當對話方塊關閉時,其各個子控制項對象被自動銷毀。

也可以不使用資源編輯器,自己在程式中寫代碼建立、顯示控制項並設定控制項的屬性。

所有的控制項類都繼承自CWnd,控制項的某些操作和屬性設定需要用到CWnd本身的成員函數,CWnd某些函數經常用來操縱控制項和設定控制項屬性。

SetWindowText:設定控制項上要顯示的標題文本,即用來設定控制項的caption屬性

GetWindowText:得到控制項的標題文本

EnableWindow:設定控制項的Disabled屬性,即社會自控制項是否可以接收鍵盤和滑鼠的輸入

SetWindowPos:改變視窗的大小、位置和Z軸次序。

MoveWindow:改變視窗的大小和位置

GetWindowRec:得到視窗的大小、位置(資訊存放在一個矩形結構中)。

GetClientRect:得到視窗客戶區的大小(資訊存放在一個矩形結構中 )

ShowWindow:設定視窗的可見度(即視窗是否可見)

SetWindowText/GetWindowText還可以用來設定/得到對話方塊的標題文本。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.