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。
繼承階層架構
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);
參數
nLower 和 nUpper
控件的上限和下限。 針對 SetRange
,兩個限制都不能大於UD_MAXVAL或小於UD_MINVAL;此外,兩個限制之間的差異不能超過UD_MAXVAL。 SetRange32
不限制限制;使用任何整數。
備註
成員函式 SetRange32
會設定微調按鈕控件的 32 位範圍。
注意
微調按鈕的預設範圍會設定為零 (0) 和最小值設定為 100。 因為最大值小於最小值,所以按兩下向上箭號會減少位置,然後按下向下箭號會增加它。 使用 CSpinButtonCtrl::SetRange
來調整這些值。