共用方式為


CSpinButtonCtrl 類別

提供 Windows 通用微調按鈕控制項的功能。

語法

class CSpinButtonCtrl : public CWnd

成員

公用建構函式

名稱 描述
CSpinButtonCtrl::CSpinButtonCtrl 建構 CSpinButtonCtrl 物件。

公用方法

名稱 描述
CSpinButtonCtrl::Create 建立微調按鈕控件,並將它附加至 CSpinButtonCtrl 物件。
CSpinButtonCtrl::CreateEx 使用指定的 Windows 擴充樣式建立微調按鈕控制件,並將它附加至 CSpinButtonCtrl 物件。
CSpinButtonCtrl::GetAccel 擷取微調按鈕控制件的加速資訊。
CSpinButtonCtrl::GetBase 擷取微調按鈕控制件的目前基底。
CSpinButtonCtrl::GetBuddy 擷取目前夥伴視窗的指標。
CSpinButtonCtrl::GetPos 擷取微調按鈕控制件的目前位置。
CSpinButtonCtrl::GetRange 擷取微調按鈕控制件的上限和下限(範圍)。
CSpinButtonCtrl::SetAccel 設定微調按鈕控制件的加速。
CSpinButtonCtrl::SetBase 設定微調按鈕控制件的基底。
CSpinButtonCtrl::SetBuddy 設定微調按鈕控制件的夥伴視窗。
CSpinButtonCtrl::SetPos 設定控制件的目前位置。
CSpinButtonCtrl::SetRange 設定微調按鈕控制件的上限和下限(範圍)。

備註

「微調按鈕控件」(也稱為向上控件)是一對箭頭按鈕,使用者可以按兩下以遞增或遞減值,例如滾動位置或隨附控件中顯示的數位。 與微調按鈕控件相關聯的值稱為其目前位置。 微調按鈕控件最常與隨附控件搭配使用,稱為「朋友視窗」。

此控件(因此類別 CSpinButtonCtrl )僅適用於在 Windows 95/98 和 Windows NT 3.51 版和更新版本下執行的程式。

對使用者,微調按鈕控件及其夥伴視窗通常看起來像單一控件。 您可以指定微調按鈕控制件會自動將本身放置在其夥伴視窗旁邊,而且它會自動將朋友視窗的標題設定為其目前的位置。 您可以使用微調按鈕控制項搭配編輯控制項來提示使用者輸入數值。

按兩下向上箭號會將目前位置移至最大值,然後按下向下箭號會將目前位置移至最小值。 根據預設,最小值為100,最大值為0。 每當最小設定大於最大設定時(例如,使用預設設定時),單擊向上箭號會減少位置值,然後按兩下向下箭號會增加它。

沒有朋友視窗的微調按鈕控制項會以簡化滾動條的形式運作。 例如,索引標籤控制件有時會顯示微調按鈕控制件,讓使用者將其他索引卷動到檢視中。

如需使用 CSpinButtonCtrl的詳細資訊,請參閱 控件 和使用 CSpinButtonCtrl

繼承階層架構

CObject

CCmdTarget

CWnd

CSpinButtonCtrl

需求

標頭: afxcmn.h

CSpinButtonCtrl::Create

建立微調按鈕控件,並將它附加至 CSpinButtonCtrl 物件。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

參數

dwStyle
指定微調按鈕控制件的樣式。 將微調按鈕控制件樣式的任何組合套用至控件。 這些樣式會在 Windows SDK 的向上控件樣式描述。

rect
指定微調按鈕控制件的大小和位置。 它可以是 CRect 物件或 RECT 結構

pParentWnd
微調按鈕控制件父視窗的指標,通常是 CDialog。 它不得為 NULL。

nID
指定微調按鈕控制件的識別碼。

傳回值

如果初始化成功,則為非零;否則為 0。

備註

您會先在兩個步驟中建構 CSpinButtonCtrl 物件,呼叫 建構函式,然後呼叫 Create,這會建立微調按鈕控件並將它附加至 CSpinButtonCtrl 物件。

若要建立具有延伸視窗樣式的微調按鈕控制項,請呼叫 CSpinButtonCtrl::CreateEx ,而不是 Create

CSpinButtonCtrl::CreateEx

建立控件(子視窗),並將它與 CSpinButtonCtrl 對象產生關聯。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

參數

dwExStyle
指定要建立之控件的擴充樣式。 如需延伸窗口樣式的清單,請參閱 Windows SDK 中 CreateWindowEx 的 dwExStyle 參數

dwStyle
指定微調按鈕控制件的樣式。 將微調按鈕控制件樣式的任何組合套用至控件。 這些樣式會在 Windows SDK 的向上控件樣式描述。

rect
RECT 結構的參考,描述要建立之視窗的大小和位置,在 pParentWnd 的用戶端座標中

pParentWnd
控件父系之視窗的指標。

nID
控制件的子視窗識別碼。

傳回值

如果成功則為非零;否則為 0。

備註

使用 CreateEx 而不是 Create 來套用延伸的 Windows 樣式,由 Windows 擴充樣式前文WS_EX_指定。

CSpinButtonCtrl::CSpinButtonCtrl

建構 CSpinButtonCtrl 物件。

CSpinButtonCtrl();

CSpinButtonCtrl::GetAccel

擷取微調按鈕控制件的加速資訊。

UINT GetAccel(
    int nAccel,
    UDACCEL* pAccel) const;

參數

nAccel
pAccel指定陣列中的元素數目。

pAccel
接收加速資訊的 UDACCEL 結構的數位指標。

傳回值

擷取的加速器結構數目。

CSpinButtonCtrl::GetBase

擷取微調按鈕控制件的目前基底。

UINT GetBase() const;

傳回值

目前的基底值。

CSpinButtonCtrl::GetBuddy

擷取目前夥伴視窗的指標。

CWnd* GetBuddy() const;

傳回值

目前夥伴視窗的指標。

CSpinButtonCtrl::GetPos

擷取微調按鈕控制件的目前位置。

int GetPos() const;  int GetPos32(LPBOOL lpbError = NULL) const;

參數

lpbError
布爾值的指標,如果成功擷取值或發生錯誤,則為零。 如果此參數設定為 NULL,則不會報告錯誤。

傳回值

第一個版本會傳回低序字中的16位目前位置。 如果發生錯誤,則高階單字為非零。

第二個版本會傳回 32 位位置。

備註

當它處理傳回的值時,控件會根據朋友視窗的標題來更新其目前的位置。 如果沒有朋友視窗或標題指定無效或超出範圍的值,控件就會傳回錯誤。

CSpinButtonCtrl::GetRange

擷取微調按鈕控制件的上限和下限(範圍)。

DWORD GetRange() const;

void GetRange(
    int& lower,
    int& upper) const;

void GetRange32(
    int& lower,
    int &upper) const;

參數

lower
接收控件下限之整數的參考。

upper
接收控制項上限之整數的參考。

傳回值

第一個版本會傳回包含上限和下限的32位值。 低序字是控件的上限,而高階字則為下限。

備註

成員函式 GetRange32 會將微調按鈕控件的範圍擷取為32位整數。

CSpinButtonCtrl::SetAccel

設定微調按鈕控制件的加速。

BOOL SetAccel(
    int nAccel,
    UDACCEL* pAccel);

參數

nAccel
pAccel指定的UDACCEL結構數目。

pAccel
UDACCEL 結構的陣列指標,其中包含加速資訊。 元素應以遞增順序根據 nSec 成員排序。

傳回值

如果成功則為非零;否則為 0。

CSpinButtonCtrl::SetBase

設定微調按鈕控制件的基底。

int SetBase(int nBase);

參數

nBase
控件的新基底值。 十進位為 10,十六進位則為 16。

傳回值

如果成功,則為先前的基底值,如果指定了無效的基底,則為零。

備註

基底值會決定 Buddy 視窗是否以十進位或十六進位數字顯示數位。 十六進位數位一律為不帶正負號;十進位數帶正負號。

CSpinButtonCtrl::SetBuddy

設定微調按鈕控制件的夥伴視窗。

CWnd* SetBuddy(CWnd* pWndBuddy);

參數

pWndBuddy
新夥伴視窗的指標。

傳回值

上一個夥伴視窗的指標。

備註

微調控件幾乎一律與另一個視窗相關聯,例如顯示某些內容的編輯控件。 這個另一個視窗稱為微調控件的「朋友」。

CSpinButtonCtrl::SetPos

設定微調按鈕控制件的目前位置。

int SetPos(int nPos);
int SetPos32(int nPos);

參數

nPos
控件的新位置。 此值必須位於控件的上限和下限所指定的範圍內。

傳回值

上一個位置 (16 位有效位數 為 SetPos,32 位有效位數為 SetPos32)。

備註

SetPos32 會設定32位位置。

CSpinButtonCtrl::SetRange

設定微調按鈕控制件的上限和下限(範圍)。

void SetRange(
    short nLower,
    short nUpper);

void SetRange32(
    int nLower,
    int nUpper);

參數

nLowernUpper
控件的上限和下限。 針對 SetRange,兩個限制都不能大於UD_MAXVAL或小於UD_MINVAL;此外,兩個限制之間的差異不能超過UD_MAXVAL。 SetRange32 不限制限制;使用任何整數。

備註

成員函式 SetRange32 會設定微調按鈕控件的 32 位範圍。

注意

微調按鈕的預設範圍會設定為零 (0) 和最小值設定為 100。 因為最大值小於最小值,所以按兩下向上箭號會減少位置,然後按下向下箭號會增加它。 使用 CSpinButtonCtrl::SetRange 來調整這些值。

另請參閱

MFC 範例CMNCTRL2
CWnd 類別
階層架構圖表
CSliderCtrl 類別