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 的向上控制項樣式 中 描述。
矩形
指定微調按鈕控制項的大小和位置。 它可以是 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 結構的參考 ,描述要建立之視窗的大小和位置,在 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;
參數
降低
接收控制項下限之整數的參考。
上
接收控制項上限之整數的參考。
傳回值
第一個版本會傳回包含上限和下限的 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
來調整這些值。
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: