Dela via


CSpinButtonCtrl-klass

Tillhandahåller funktionerna i den vanliga spin-knappkontrollen i Windows.

Syntax

class CSpinButtonCtrl : public CWnd

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CSpinButtonCtrl::CSpinButtonCtrl Konstruerar ett CSpinButtonCtrl objekt.

Offentliga metoder

Namn Beskrivning
CSpinButtonCtrl::Skapa Skapar en rotationsknappskontroll och kopplar den till ett CSpinButtonCtrl objekt.
CSpinButtonCtrl::CreateEx Skapar en rotationsknappskontroll med de angivna utökade Windows-formatmallarna och kopplar den till ett CSpinButtonCtrl objekt.
CSpinButtonCtrl::GetAccel Hämtar accelerationsinformation för en rotationsknappskontroll.
CSpinButtonCtrl::GetBase Hämtar den aktuella basen för en rotationsknappskontroll.
CSpinButtonCtrl::GetBuddy Hämtar en pekare till det aktuella kompisfönstret.
CSpinButtonCtrl::GetPos Hämtar den aktuella positionen för en rotationsknappskontroll.
CSpinButtonCtrl::GetRange Hämtar de övre och nedre gränserna (intervallet) för en rotationsknappskontroll.
CSpinButtonCtrl::SetAccel Anger accelerationen för en rotationsknappskontroll.
CSpinButtonCtrl::SetBase Anger basen för en rotationsknappkontroll.
CSpinButtonCtrl::SetBuddy Anger kompisfönstret för en rotationsknappskontroll.
CSpinButtonCtrl::SetPos Anger kontrollens aktuella position.
CSpinButtonCtrl::SetRange Anger de övre och nedre gränserna (intervall) för en rotationsknappskontroll.

Anmärkningar

En "rotationsknappskontroll" (kallas även för en upp-och-ned-kontroll) är ett par pilknappar som användaren kan klicka på för att öka eller minska ett värde, till exempel en rullningsposition eller ett tal som visas i en tillhörande kontroll. Värdet som är associerat med en rotationsknappskontroll kallas dess aktuella position. En rotationsknappskontroll används oftast med en tillhörande kontroll, som kallas ett "kompisfönster".

Den här kontrollen (och därmed klassen CSpinButtonCtrl) är endast tillgänglig för program som körs under Windows 95/98 och Windows NT version 3.51 och senare.

För användaren ser en rotationsknappkontroll och dess kompisfönster ofta ut som en enda kontroll. Du kan ange att en rotationsknappskontroll automatiskt placerar sig bredvid sitt kompisfönster och att den automatiskt ställer in undertexten för kompisfönstret till sin aktuella position. Du kan använda en rotationsknappkontroll med en redigeringskontroll för att fråga användaren om numeriska indata.

Om du klickar på uppåtpilen flyttas den aktuella positionen mot maxvärdet och genom att klicka på nedåtpilen flyttas den aktuella positionen mot minimum. Som standard är minimivärdet 100 och maxvärdet är 0. Varje gång minimiinställningen är större än den maximala inställningen (till exempel när standardinställningarna används) minskar du positionsvärdet genom att klicka på uppåtpilen och klicka på nedåtpilen.

En rotationsknappskontroll utan ett kompisfönster fungerar som ett slags förenklad rullningslist. En flikkontroll visar till exempel ibland en rotationsknappskontroll så att användaren kan rulla ytterligare flikar i vyn.

Mer information om hur du använder CSpinButtonCtrlfinns i Controls and Using CSpinButtonCtrl.

Arvshierarki

CObject

CCmdTarget

CWnd

CSpinButtonCtrl

Krav

Rubrik: afxcmn.h

CSpinButtonCtrl::Skapa

Skapar en rotationsknappskontroll och kopplar den till ett CSpinButtonCtrl objekt.

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

Parametrar

dwStyle
Anger rotationsknappkontrollens formatmall. Använd valfri kombination av rotationsknappkontrollformat för kontrollen. Dessa format beskrivs i Up-Down Kontrollformat i Windows SDK.

rect
Anger rotationsknappens storlek och position. Det kan vara antingen ett CRect--objekt eller en RECT- struktur

pParentWnd
En pekare till rotationsknappens överordnade fönster, vanligtvis en CDialog. Den får inte vara NULL.

nID
Anger rotationsknappkontrollens ID.

Returvärde

Nonzero om initieringen lyckades; annars 0.

Anmärkningar

Du skapar ett CSpinButtonCtrl objekt i två steg Först anropar du konstruktorn och anropar sedan Create, som skapar rotationsknappkontrollen och kopplar den till CSpinButtonCtrl-objektet.

Om du vill skapa en rotationsknappskontroll med utökade fönsterformat anropar du CSpinButtonCtrl::CreateEx i stället för Create.

CSpinButtonCtrl::CreateEx

Skapar en kontroll (ett underordnat fönster) och associerar den med objektet CSpinButtonCtrl.

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

Parametrar

dwExStyle
Anger den utökade stilen för kontrollen som skapas. En lista över utökade windows-format finns i parametern dwExStyle för CreateWindowEx i Windows SDK.

dwStyle
Anger rotationsknappkontrollens formatmall. Använd valfri kombination av rotationsknappkontrollformat för kontrollen. Dessa format beskrivs i Up-Down Kontrollformat i Windows SDK.

rect
En referens till en RECT- struktur som beskriver storleken och positionen för fönstret som ska skapas, i klientkoordinater för pParentWnd.

pParentWnd
En pekare till det fönster som är kontrollens överordnade.

nID
Kontrollens underordnade fönster-ID.

Returvärde

Nonzero om det lyckas; annars 0.

Anmärkningar

Använd CreateEx i stället för Skapa om du vill använda utökade Windows-formatmallar som anges i windows utökade formatmallar WS_EX_.

CSpinButtonCtrl::CSpinButtonCtrl

Konstruerar ett CSpinButtonCtrl objekt.

CSpinButtonCtrl();

CSpinButtonCtrl::GetAccel

Hämtar accelerationsinformation för en rotationsknappskontroll.

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

Parametrar

nAccel
Antal element i matrisen som anges av pAccel.

pAccel
Pekare till en matris med UDACCEL strukturer som tar emot accelerationsinformation.

Returvärde

Antal acceleratorstrukturer som hämtats.

CSpinButtonCtrl::GetBase

Hämtar den aktuella basen för en rotationsknappskontroll.

UINT GetBase() const;

Returvärde

Det aktuella basvärdet.

CSpinButtonCtrl::GetBuddy

Hämtar en pekare till det aktuella kompisfönstret.

CWnd* GetBuddy() const;

Returvärde

En pekare till det aktuella kompisfönstret.

CSpinButtonCtrl::GetPos

Hämtar den aktuella positionen för en rotationsknappskontroll.

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

Parametrar

lpbError
En pekare till ett booleskt värde som är inställt på noll om värdet har hämtats eller inte noll om ett fel inträffar. Om den här parametern är inställd på NULL rapporteras inte fel.

Returvärde

Den första versionen returnerar den 16-bitars aktuella positionen i lågordningsordet. Högordningsordet är inte noll om ett fel uppstod.

Den andra versionen returnerar 32-bitarspositionen.

Anmärkningar

När det bearbetar värdet som returneras uppdaterar kontrollen sin aktuella position baserat på beskrivningen av kompisfönstret. Kontrollen returnerar ett fel om det inte finns något kompisfönster eller om undertexten anger ett ogiltigt eller out-of-range-värde.

CSpinButtonCtrl::GetRange

Hämtar de övre och nedre gränserna (intervallet) för en rotationsknappskontroll.

DWORD GetRange() const;

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

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

Parametrar

lägre
Referens till ett heltal som tar emot den lägre gränsen för kontrollen.

övre
Referens till ett heltal som tar emot den övre gränsen för kontrollen.

Returvärde

Den första versionen returnerar ett 32-bitarsvärde som innehåller de övre och nedre gränserna. Lågordningsordet är den övre gränsen för kontrollen och högordningsordet är den nedre gränsen.

Anmärkningar

Medlemsfunktionen GetRange32 hämtar rotationsknappkontrollens intervall som ett 32-bitars heltal.

CSpinButtonCtrl::SetAccel

Anger accelerationen för en rotationsknappskontroll.

BOOL SetAccel(
    int nAccel,
    UDACCEL* pAccel);

Parametrar

nAccel
Antal UDACCEL- strukturer som anges av pAccel.

pAccel
Pekare till en matris med UDACCEL-strukturer som innehåller accelerationsinformation. Elementen ska sorteras i stigande ordning baserat på nSec medlem.

Returvärde

Nonzero om det lyckas; annars 0.

CSpinButtonCtrl::SetBase

Anger basen för en rotationsknappkontroll.

int SetBase(int nBase);

Parametrar

nBase
Nytt basvärde för kontrollen. Det kan vara 10 för decimal eller 16 för hexadecimalt.

Returvärde

Det tidigare basvärdet om det lyckades eller noll om en ogiltig bas anges.

Anmärkningar

Basvärdet avgör om kompisfönstret visar tal i decimal- eller hexadecimala siffror. Hexadecimala tal är alltid osignerade; decimaltal signeras.

CSpinButtonCtrl::SetBuddy

Anger kompisfönstret för en rotationsknappskontroll.

CWnd* SetBuddy(CWnd* pWndBuddy);

Parametrar

pWndBuddy
Pekare till det nya kompisfönstret.

Returvärde

En pekare till föregående kompisfönster.

Anmärkningar

En rotationskontroll associeras nästan alltid med ett annat fönster, till exempel en redigeringskontroll, som visar en del innehåll. Det andra fönstret kallas "kompis" för spinnkontrollen.

CSpinButtonCtrl::SetPos

Anger den aktuella positionen för en rotationsknappskontroll.

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

Parametrar

nPos
Ny position för kontrollen. Det här värdet måste ligga i det intervall som anges av kontrollens övre och nedre gränser.

Returvärde

Föregående position (16-bitars precision för SetPos, 32-bitars precision för SetPos32).

Anmärkningar

SetPos32 anger 32-bitars position.

CSpinButtonCtrl::SetRange

Anger de övre och nedre gränserna (intervall) för en rotationsknappskontroll.

void SetRange(
    short nLower,
    short nUpper);

void SetRange32(
    int nLower,
    int nUpper);

Parametrar

nLower och nUpper
Övre och nedre gränser för kontrollen. För SetRangekan ingen gräns vara större än UD_MAXVAL eller mindre än UD_MINVAL. Dessutom får skillnaden mellan de två gränserna inte överskrida UD_MAXVAL. SetRange32 begränsar inte gränserna. använd alla heltal.

Anmärkningar

Medlemsfunktionen SetRange32 anger 32-bitarsintervallet för rotationsknappkontrollen.

Not

Standardintervallet för rotationsknappen har det maximala värdet noll (0) och det minsta värdet är 100. Eftersom det maximala värdet är mindre än det minsta värdet minskar du positionen genom att klicka på uppåtpilen och klicka på nedåtpilen. Använd CSpinButtonCtrl::SetRange för att justera dessa värden.

Se även

MFC-exempel CMNCTRL2
CWnd-klass
hierarkidiagram
CSliderCtrl Class