Partilhar via


CSpinButtonCtrl Classe

Fornece a funcionalidade do controle de botão giratório comum do Windows.

Sintaxe

class CSpinButtonCtrl : public CWnd

Membros

Construtores Públicos

Designação Descrição
CSpinButtonCtrl::CSpinButtonCtrl Constrói um objeto CSpinButtonCtrl.

Métodos Públicos

Designação Descrição
CSpinButtonCtrl::Criar Cria um controle de botão giratório e o anexa a um objeto CSpinButtonCtrl.
CSpinButtonCtrl::CreateEx Cria um controle de botão giratório com os estilos estendidos especificados do Windows e o anexa a um objeto CSpinButtonCtrl.
CSpinButtonCtrl::GetAccel Recupera informações de aceleração para um controle de botão giratório.
CSpinButtonCtrl::GetBase Recupera a base atual para um controle de botão giratório.
CSpinButtonCtrl::GetBuddy Recupera um ponteiro para a janela de amigo atual.
CSpinButtonCtrl::GetPos Recupera a posição atual de um controle de botão giratório.
CSpinButtonCtrl::GetRange Recupera os limites superior e inferior (intervalo) para um controle de botão giratório.
CSpinButtonCtrl::SetAccel Define a aceleração para um controle de botão giratório.
CSpinButtonCtrl::SetBase Define a base para um controle de botão giratório.
CSpinButtonCtrl::SetBuddy Define a janela buddy para um controle de botão giratório.
CSpinButtonCtrl::SetPos Define a posição atual para o controle.
CSpinButtonCtrl::SetRange Define os limites superior e inferior (intervalo) para um controle de botão giratório.

Comentários

Um "controle de botão giratório" (também conhecido como controle para cima-baixo) é um par de botões de seta em que o usuário pode clicar para incrementar ou diminuir um valor, como uma posição de rolagem ou um número exibido em um controle complementar. O valor associado a um controle de botão giratório é chamado de sua posição atual. Um controle de botão giratório é mais frequentemente usado com um controle companheiro, chamado de "janela de amigos".

Esse controle (e, portanto, a classe CSpinButtonCtrl) está disponível apenas para programas executados no Windows 95/98 e Windows NT versão 3.51 e posterior.

Para o usuário, um controle de botão giratório e sua janela de amigos geralmente se parecem com um único controle. Você pode especificar que um controle de botão giratório se posicione automaticamente ao lado de sua janela de amigo e que ele defina automaticamente a legenda da janela de amigo para sua posição atual. Você pode usar um controle de botão giratório com um controle de edição para solicitar ao usuário a entrada numérica.

Clicar na seta para cima move a posição atual em direção ao máximo e clicar na seta para baixo move a posição atual em direção ao mínimo. Por padrão, o mínimo é 100 e o máximo é 0. Sempre que a configuração mínima for maior do que a configuração máxima (por exemplo, quando as configurações padrão forem usadas), clicar na seta para cima diminui o valor da posição e clicar na seta para baixo o aumenta.

Um controle de botão giratório sem uma janela de amigo funciona como uma espécie de barra de rolagem simplificada. Por exemplo, um controle tab às vezes exibe um controle de botão giratório para permitir que o usuário role guias adicionais para a exibição.

Para obter mais informações sobre como usar o CSpinButtonCtrl, consulte controles e Usando CSpinButtonCtrl.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CSpinButtonCtrl

Requerimentos

Cabeçalho: afxcmn.h

CSpinButtonCtrl::Criar

Cria um controle de botão giratório e o anexa a um objeto CSpinButtonCtrl.

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

Parâmetros

dwStyle
Especifica o estilo do controle de botão giratório. Aplique qualquer combinação de estilos de controle de botão giratório ao controle. Esses estilos são descritos em Up-Down Estilos de Controle no SDK do Windows.

rect
Especifica o tamanho e a posição do controle de botão giratório. Pode ser um objeto CRect ou uma estrutura RECT

pParentWnd
Um ponteiro para a janela pai do controle de botão giratório, geralmente um CDialog. Não deve ser NULL.

nID
Especifica a ID do controle de botão giratório.

Valor de retorno

Diferente de zero se a inicialização foi bem-sucedida; caso contrário, 0.

Comentários

Você constrói um objeto CSpinButtonCtrl em duas etapas Primeiro, chame o construtor e, em seguida, chame Create, que cria o controle de botão giratório e o anexa ao objeto CSpinButtonCtrl.

Para criar um controle de botão giratório com estilos de janela estendidos, chame CSpinButtonCtrl::CreateEx em vez de Create.

CSpinButtonCtrl::CreateEx

Cria um controle (uma janela filho) e o associa ao objeto CSpinButtonCtrl.

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

Parâmetros

dwExStyle
Especifica o estilo estendido do controle que está sendo criado. Para obter uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.

dwStyle
Especifica o estilo do controle de botão giratório. Aplique qualquer combinação de estilos de controle de botão giratório ao controle. Esses estilos são descritos em Up-Down Estilos de Controle no SDK do Windows.

rect
Uma referência a uma estrutura de RECT que descreve o tamanho e a posição da janela a ser criada, nas coordenadas do cliente de pParentWnd.

pParentWnd
Um ponteiro para a janela que é o pai do controle.

nID
ID da janela filho do controle.

Valor de retorno

Diferente de zero se for bem-sucedido; caso contrário, 0.

Comentários

Use CreateEx em vez de Criar para aplicar estilos estendidos do Windows, especificados pela WS_EX_ de prefácio de estilo estendido do Windows.

CSpinButtonCtrl::CSpinButtonCtrl

Constrói um objeto CSpinButtonCtrl.

CSpinButtonCtrl();

CSpinButtonCtrl::GetAccel

Recupera informações de aceleração para um controle de botão giratório.

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

Parâmetros

nAccel
Número de elementos na matriz especificada por pAccel.

pAccel
Ponteiro para uma matriz de UDACCEL estruturas que recebe informações de aceleração.

Valor de retorno

Número de estruturas do acelerador recuperadas.

CSpinButtonCtrl::GetBase

Recupera a base atual para um controle de botão giratório.

UINT GetBase() const;

Valor de retorno

O valor base atual.

CSpinButtonCtrl::GetBuddy

Recupera um ponteiro para a janela de amigo atual.

CWnd* GetBuddy() const;

Valor de retorno

Um ponteiro para a janela de amigos atual.

CSpinButtonCtrl::GetPos

Recupera a posição atual de um controle de botão giratório.

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

Parâmetros

lpbError
Um ponteiro para um valor booleano que é definido como zero se o valor for recuperado com êxito ou diferente de zero se ocorrer um erro. Se esse parâmetro for definido como NULL, os erros não serão relatados.

Valor de retorno

A primeira versão retorna a posição atual de 16 bits na palavra de ordem baixa. A palavra de ordem alta é diferente de zero se ocorreu um erro.

A segunda versão retorna a posição de 32 bits.

Comentários

Quando ele processa o valor retornado, o controle atualiza sua posição atual com base na legenda da janela buddy. O controle retornará um erro se não houver nenhuma janela de amigo ou se a legenda especificar um valor inválido ou fora do intervalo.

CSpinButtonCtrl::GetRange

Recupera os limites superior e inferior (intervalo) para um controle de botão giratório.

DWORD GetRange() const;

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

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

Parâmetros

menor
Referência a um inteiro que recebe o limite inferior para o controle.

superior
Referência a um número inteiro que recebe o limite superior para o controle.

Valor de retorno

A primeira versão retorna um valor de 32 bits contendo os limites superior e inferior. A palavra de ordem baixa é o limite superior para o controle, e a palavra de ordem alta é o limite inferior.

Comentários

A função de membro GetRange32 recupera o intervalo do controle de botão giratório como um inteiro de 32 bits.

CSpinButtonCtrl::SetAccel

Define a aceleração para um controle de botão giratório.

BOOL SetAccel(
    int nAccel,
    UDACCEL* pAccel);

Parâmetros

nAccel
Número de estruturas UDACCEL especificadas por pAccel.

pAccel
Ponteiro para uma matriz de estruturas UDACEL, que contêm informações de aceleração. Os elementos devem ser ordenados em ordem crescente com base no membro nSec.

Valor de retorno

Diferente de zero se for bem-sucedido; caso contrário, 0.

CSpinButtonCtrl::SetBase

Define a base para um controle de botão giratório.

int SetBase(int nBase);

Parâmetros

nBase
Novo valor base para o controle. Pode ser 10 para decimal ou 16 para hexadecimal.

Valor de retorno

O valor de base anterior, se bem-sucedido, ou zero, se uma base inválida for fornecida.

Comentários

O valor base determina se a janela buddy exibe números em dígitos decimais ou hexadecimais. Os números hexadecimais não estão sempre assinados; Os números decimais são assinados.

CSpinButtonCtrl::SetBuddy

Define a janela buddy para um controle de botão giratório.

CWnd* SetBuddy(CWnd* pWndBuddy);

Parâmetros

pWndBuddy
Ponteiro para a nova janela de amigos.

Valor de retorno

Um ponteiro para a janela de amigos anterior.

Comentários

Um controle de rotação é quase sempre associado a outra janela, como um controle de edição, que exibe algum conteúdo. Esta outra janela é chamada de "amigo" do controle de rotação.

CSpinButtonCtrl::SetPos

Define a posição atual para um controle de botão giratório.

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

Parâmetros

nPos
Nova posição para o controle. Esse valor deve estar no intervalo especificado pelos limites superior e inferior para o controle.

Valor de retorno

A posição anterior (precisão de 16 bits para SetPos, precisão de 32 bits para SetPos32).

Comentários

SetPos32 define a posição de 32 bits.

CSpinButtonCtrl::SetRange

Define os limites superior e inferior (intervalo) para um controle de botão giratório.

void SetRange(
    short nLower,
    short nUpper);

void SetRange32(
    int nLower,
    int nUpper);

Parâmetros

n inferior e nUpper
Limites superior e inferior para o controlo. Para SetRange, nenhum dos limites pode ser superior a UD_MAXVAL ou inferior a UD_MINVAL; Além disso, a diferença entre os dois limites não pode exceder UD_MAXVAL. SetRange32 não impõe restrições aos limites; Use quaisquer números inteiros.

Comentários

A função de membro SetRange32 define o intervalo de 32 bits para o controle de botão giratório.

Observação

O intervalo padrão para o botão giratório tem o máximo definido como zero (0) e o mínimo definido como 100. Como o valor máximo é menor que o valor mínimo, clicar na seta para cima diminuirá a posição e clicar na seta para baixo a aumentará. Use CSpinButtonCtrl::SetRange para ajustar esses valores.

Ver também

CMNCTRL2 de exemplo MFC
CWnd Classe
Gráfico de Hierarquia
CSliderCtrl Classe