按鈕窗口(控件)在MFC中使用CButton表示,CButton包含了三種樣式的按鈕,Push Button,Check Box,Radio Box。所以在利用CButton對象生成按鈕窗口時(shí)需要指明按鈕的風(fēng)格。
創(chuàng)建按鈕:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );其中l(wèi)pszCaption是按鈕上顯示的文字,dwStyle為按鈕風(fēng)格,除了Windows風(fēng)格可以使用外(如WS_CHILD WS_VISUBLE WS_BORDER)還有按鈕專用的一些風(fēng)格。
BS_AUTOCHECKBOX 檢查框,按鈕的狀態(tài)會自動改變 Same as a check box, except that a check mark appears in the check box when the user selects the box; the check mark disappears the next time the user selects the box.
BS_AUTORADIOBUTTON 圓形選擇按鈕,按鈕的狀態(tài)會自動改變 Same as a radio button, except that when the user selects it, the button automatically highlights itself and removes the selection from any other radio buttons with the same style in the same group.
BS_AUTO3STATE 允許按鈕有三種狀態(tài)即:選中,未選中,未定 Same as a three-state check box, except that the box changes its state when the user selects it.
BS_CHECKBOX 檢查框 Creates a small square that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style).
BS_DEFPUSHBUTTON 默認(rèn)普通按鈕 Creates a button that has a heavy black border. The user can select this button by pressing the ENTER key. This style enables the user to quickly select the most likely option (the default option).
BS_LEFTTEXT 左對齊文字 When combined with a radio-button or check-box style, the text appears on the left side of the radio button or check box.
BS_OWNERDRAW 自繪按鈕 Creates an owner-drawn button. The framework calls the DrawItem member function when a visual aspect of the button has changed. This style must be set when using the CBitmapButton class.
BS_PUSHBUTTON 普通按鈕 Creates a pushbutton that posts a WM_COMMAND message to the owner window when the user selects the button.
BS_RADIOBUTTON 圓形選擇按鈕 Creates a small circle that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style). Radio buttons are usually used in groups of related but mutually exclusive choices.
BS_3STATE 允許按鈕有三種狀態(tài)即:選中,未選中,未定 Same as a check box, except that the box can be dimmed as well as checked. The dimmed state typically is used to show that a check box has been disabled.
rect為窗口所占據(jù)的矩形區(qū)域,pParentWnd為父窗口指針,nID為該窗口的ID值。
獲取/改變按鈕狀態(tài):對于檢查按鈕和圓形按鈕可能有兩種狀態(tài),選中和未選中,如果設(shè)置了BS_3STATE或BS_AUTO3STATE風(fēng)格就可能出現(xiàn)第三種狀態(tài):未定,這時(shí)按鈕顯示灰色。通過調(diào)用int CButton::GetCheck( ) 得到當(dāng)前是否被選中,返回0:未選中,1:選中,2:未定。調(diào)用void CButton::SetCheck( int nCheck );設(shè)置當(dāng)前選中狀態(tài)。
處理按鈕消息:要處理按鈕消息需要在父窗口中進(jìn)行消息映射,映射宏為ON_BN_CLICKED( id, memberFxn )id為按鈕的ID值,就是創(chuàng)建時(shí)指定的nID值。處理函數(shù)原型為afx_msg void memberFxn( );
按鈕窗口(控件)在MFC中使用CButton表示,CButton包含了三種樣式的按鈕,Push Button,Check Box,Radio Box。所以在利用CButton對象生成按鈕窗口時(shí)需要指明按鈕的風(fēng)格。
創(chuàng)建按鈕:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );其中l(wèi)pszCaption是按鈕上顯示的文字,dwStyle為按鈕風(fēng)格,除了Windows風(fēng)格可以使用外(如WS_CHILD WS_VISUBLE WS_BORDER)還有按鈕專用的一些風(fēng)格。
BS_AUTOCHECKBOX 檢查框,按鈕的狀態(tài)會自動改變 Same as a check box, except that a check mark appears in the check box when the user selects the box; the check mark disappears the next time the user selects the box.
BS_AUTORADIOBUTTON 圓形選擇按鈕,按鈕的狀態(tài)會自動改變 Same as a radio button, except that when the user selects it, the button automatically highlights itself and removes the selection from any other radio buttons with the same style in the same group.
BS_AUTO3STATE 允許按鈕有三種狀態(tài)即:選中,未選中,未定 Same as a three-state check box, except that the box changes its state when the user selects it.
BS_CHECKBOX 檢查框 Creates a small square that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style).
BS_DEFPUSHBUTTON 默認(rèn)普通按鈕 Creates a button that has a heavy black border. The user can select this button by pressing the ENTER key. This style enables the user to quickly select the most likely option (the default option).
BS_LEFTTEXT 左對齊文字 When combined with a radio-button or check-box style, the text appears on the left side of the radio button or check box.
BS_OWNERDRAW 自繪按鈕 Creates an owner-drawn button. The framework calls the DrawItem member function when a visual aspect of the button has changed. This style must be set when using the CBitmapButton class.
BS_PUSHBUTTON 普通按鈕 Creates a pushbutton that posts a WM_COMMAND message to the owner window when the user selects the button.
BS_RADIOBUTTON 圓形選擇按鈕 Creates a small circle that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style). Radio buttons are usually used in groups of related but mutually exclusive choices.
BS_3STATE 允許按鈕有三種狀態(tài)即:選中,未選中,未定 Same as a check box, except that the box can be dimmed as well as checked. The dimmed state typically is used to show that a check box has been disabled.
rect為窗口所占據(jù)的矩形區(qū)域,pParentWnd為父窗口指針,nID為該窗口的ID值。
獲取/改變按鈕狀態(tài):對于檢查按鈕和圓形按鈕可能有兩種狀態(tài),選中和未選中,如果設(shè)置了BS_3STATE或BS_AUTO3STATE風(fēng)格就可能出現(xiàn)第三種狀態(tài):未定,這時(shí)按鈕顯示灰色。通過調(diào)用int CButton::GetCheck( ) 得到當(dāng)前是否被選中,返回0:未選中,1:選中,2:未定。調(diào)用void CButton::SetCheck( int nCheck );設(shè)置當(dāng)前選中狀態(tài)。
處理按鈕消息:要處理按鈕消息需要在父窗口中進(jìn)行消息映射,映射宏為ON_BN_CLICKED( id, memberFxn )id為按鈕的ID值,就是創(chuàng)建時(shí)指定的nID值。處理函數(shù)原型為afx_msg void memberFxn( );