Partilhar via


Classe CSliderCtrl

Fornece a funcionalidade de controle deslizante comum do Windows.

Sintaxe

class CSliderCtrl : public CWnd

Membros

Construtores públicos

Nome Descrição
CSliderCtrl::CSliderCtrl Constrói um objeto CSliderCtrl.

Métodos públicos

Nome Descrição
CSliderCtrl::ClearSel Limpa a seleção atual em um controle deslizante.
CSliderCtrl::ClearTics Remove as marcas de escala atuais de um controle deslizante.
CSliderCtrl::Create Cria um controle deslizante e o anexa a um objeto CSliderCtrl.
CSliderCtrl::CreateEx Cria um controle deslizante com os estilos estendidos especificados do Windows e o anexa a um objeto CSliderCtrl.
CSliderCtrl::GetBuddy Recupera o identificador para uma janela privada do controle deslizante em determinado local.
CSliderCtrl::GetChannelRect Recupera o tamanho do canal do controle deslizante.
CSliderCtrl::GetLineSize Recupera o tamanho da linha de um controle deslizante.
CSliderCtrl::GetNumTics Recupera o número de marcas de escala em um controle deslizante.
CSliderCtrl::GetPageSize Recupera o tamanho da página de um controle deslizante.
CSliderCtrl::GetPos Recupera a posição atual do controle deslizante.
CSliderCtrl::GetRange Recupera as posições mínima e máxima de um controle deslizante.
CSliderCtrl::GetRangeMax Recupera a posição máxima de um controle deslizante.
CSliderCtrl::GetRangeMin Recupera a posição mínima de um controle deslizante.
CSliderCtrl::GetSelection Recupera o intervalo da seleção atual.
CSliderCtrl::GetThumbLength Recupera o tamanho do controle deslizante no controle trackbar atual.
CSliderCtrl::GetThumbRect Recupera o tamanho do componente básico do controle deslizante.
CSliderCtrl::GetTic Recupera a posição da marca de escala especificada.
CSliderCtrl::GetTicArray Recupera a matriz das posições de marca de escala para um controle deslizante.
CSliderCtrl::GetTicPos Recupera a posição da marca de escala especificada, nas coordenadas do cliente.
CSliderCtrl::GetToolTips Recupera o identificador para o controle de dica de ferramenta atribuído ao controle deslizante, se houver.
CSliderCtrl::SetBuddy Atribui uma janela como a janela privada de um controle deslizante.
CSliderCtrl::SetLineSize Define o tamanho da linha de um controle deslizante.
CSliderCtrl::SetPageSize Define o tamanho da página de um controle deslizante.
CSliderCtrl::SetPos Define a posição atual do controle deslizante.
CSliderCtrl::SetRange Define as posições mínima e máxima de um controle deslizante.
CSliderCtrl::SetRangeMax Define a posição máxima de um controle deslizante.
CSliderCtrl::SetRangeMin Define a posição mínima de um controle deslizante.
CSliderCtrl::SetSelection Define o intervalo da seleção atual.
CSliderCtrl::SetThumbLength Define o tamanho do controle deslizante no controle trackbar atual.
CSliderCtrl::SetTic Define a posição da marca de escala especificada.
CSliderCtrl::SetTicFreq Define a frequência das marcas de escala por incremento de controle deslizante.
CSliderCtrl::SetTipSide Posiciona um controle de dica de ferramenta usado por um controle trackbar.
CSliderCtrl::SetToolTips Atribui um controle de dica de ferramenta a um controle deslizante.

Comentários

Um "controle deslizante" (também conhecido como trackbar) é uma janela que contém um controle deslizante e marcas de escala opcionais. Quando o usuário move o controle deslizante, usando o mouse ou as teclas de direção, o controle envia mensagens de notificação para indicar a alteração.

Os controles deslizantes são úteis quando você deseja que o usuário selecione um valor discreto ou um conjunto de valores consecutivos em um intervalo. Por exemplo, você pode usar um controle deslizante para permitir que o usuário defina a taxa de repetição do teclado movendo o controle deslizante até uma determinada marca de escala.

Esse controle (e, portanto, a classe CSliderCtrl) está disponível apenas para programas em execução no Windows 95/98 e Windows NT versão 3.51 e posteriores.

O controle deslizante é movido em incrementos que você especifica ao criá-lo. Por exemplo, se você especificar que o controle deslizante deve ter um intervalo de cinco, o controle deslizante só poderá ocupar seis posições: uma posição no lado esquerdo do controle deslizante e uma posição para cada incremento no intervalo. Normalmente, cada uma dessas posições é identificada por uma marca de escala.

Você cria um controle deslizante usando o construtor e a função de membro Create de CSliderCtrl. Depois de criar um controle deslizante, você pode usar funções de membro CSliderCtrl para alterar muitas de suas propriedades. As alterações que você pode fazer incluem definir as posições mínimas e máximas para o controle deslizante, desenhar marcas de escala, definir um intervalo de seleção e reposicionar o controle deslizante.

Para obter mais informações sobre como usar CSliderCtrl, consulte Controles e Usar CSliderCtrl.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CSliderCtrl

Requisitos

Cabeçalho: afxcmn.h

CSliderCtrl::ClearSel

Limpa a seleção atual em um controle deslizante.

void ClearSel(BOOL bRedraw = FALSE);

Parâmetros

bRedraw
Redesenhe o sinalizador. Se esse parâmetro for TRUE, o controle deslizante será redesenhado depois que a seleção for desmarcada. Caso contrário, o controle deslizante não será redesenhado.

CSliderCtrl::ClearTics

Remove as marcas de escala atuais de um controle deslizante.

void ClearTics(BOOL bRedraw = FALSE);

Parâmetros

bRedraw
Redesenhe o sinalizador. Se esse parâmetro for TRUE, o controle deslizante será redesenhado depois que as marcas de escala forem desmarcadas. Caso contrário, o controle deslizante não será redesenhado.

CSliderCtrl::Create

Cria um controle deslizante e o anexa a um objeto CSliderCtrl.

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

Parâmetros

dwStyle
Especifica o estilo do controle deslizante. Aplique qualquer combinação de estilos de controle deslizante, descritos no SDK do Windows, ao controle.

rect
Especifica o tamanho e a posição do controle deslizante. Pode ser um objeto CRect ou uma estrutura RECT.

pParentWnd
Especifica a janela pai do controle deslizante, geralmente um CDialog. Não deve ser NULL.

nID
Especifica a ID do controle deslizante.

Valor de retorno

Um valor diferente de zero, se a inicialização tiver êxito. Caso contrário, 0.

Comentários

O CSliderCtrl é construído em duas etapas. Primeiro, chame o construtor e, em seguida, chame Create, que cria o controle deslizante e o anexa ao objeto CSliderCtrl.

Dependendo dos valores definidos para dwStyle, o controle deslizante pode ter uma orientação vertical ou horizontal. Pode ter marcas de escala em um dos lados, em ambos os lados ou em nenhum dos lados. Também pode ser usado para especificar um intervalo de valores consecutivos.

Para aplicar os estilos estendidos de janela ao controle deslizante, chame CreateEx, em vez de Create.

CSliderCtrl::CreateEx

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

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 deslizante. Aplique qualquer combinação de estilos de controle deslizante, descritos no SDK do Windows, ao controle.

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

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

nID
A ID da janela filho do controle.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Use CreateEx, em vez de Create, para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_ de estilos estendidos do Windows.

CSliderCtrl::CSliderCtrl

Constrói um objeto CSliderCtrl.

CSliderCtrl();

CSliderCtrl::GetBuddy

Recupera o identificador para uma janela privada do controle deslizante em determinado local.

CWnd* GetBuddy(BOOL fLocation = TRUE) const;

Parâmetros

fLocation
Um valor booliano que indica qual dos dois identificadores da janela privada deve ser recuperado. Pode ser um dos seguintes valores:

  • TRUE Recupera o identificador para a janela privada à esquerda do controle deslizante. Se o controle deslizante usar o estilo TBS_VERT, a mensagem recuperará a janela privada acima do controle deslizante.

  • FALSE Recupera o identificador para a janela privada à direita do controle deslizante. Se o controle deslizante usar o estilo TBS_VERT, a mensagem recuperará a janela privada abaixo do controle deslizante.

Valor de retorno

Um ponteiro para um objeto CWnd que é a janela privada no local especificado por fLocation, ou NULL, se não houver uma janela privada nesse local.

Comentários

Essa função membro implementa o comportamento da mensagem TBM_GETBUDDY do Win32, conforme descrito no SDK do Windows. Para obter uma descrição dos estilos de controle trackbar, confira Estilos de Controle de Trackbar no SDK do Windows.

CSliderCtrl::GetChannelRect

Recupera o tamanho e a posição do retângulo delimitador para um canal do controle deslizante.

void GetChannelRect(LPRECT lprc) const;

Parâmetros

lprc
Um ponteiro para um objeto CRect que contém o tamanho e a posição do retângulo delimitador do canal, quando a função retorna.

Comentários

O canal é a área sobre a qual o controle deslizante se move e que recebe o realce quando um intervalo é selecionado.

CSliderCtrl::GetLineSize

Recupera o tamanho da linha para um controle deslizante.

int GetLineSize() const;

Valor de retorno

O tamanho de uma linha para o controle deslizante.

Comentários

O tamanho da linha afeta a movimentação do controle deslizante para o TB_LINEUP e as notificações TB_LINEDOWN. A configuração padrão do tamanho da linha é 1.

CSliderCtrl::GetNumTics

Recupera o número de marcas de escala em um controle deslizante.

UINT GetNumTics() const;

Valor de retorno

O número de marcas de escala no controle deslizante.

CSliderCtrl::GetPageSize

Recupera o tamanho da página para um controle deslizante.

int GetPageSize() const;

Valor de retorno

O tamanho de uma página para o controle deslizante.

Comentários

O tamanho da página afeta a movimentação do controle deslizante para o TB_PAGEUP e as notificações TB_PAGEDOWN.

CSliderCtrl::GetPos

Recupera a posição atual do controle deslizante.

int GetPos() const;

Valor de retorno

A posição atual.

CSliderCtrl::GetRange

Recupera as posições máxima e mínima do controle deslizante.

void GetRange(
    int& nMin,
    int& nMax) const;

Parâmetros

nMin
Referência a um inteiro que recebe a posição mínima.

nMax
Referência a um inteiro que recebe a posição máxima.

Comentários

Essa função copia os valores para os inteiros referenciados por nMin e nMax.

CSliderCtrl::GetRangeMax

Recupera a posição máxima do controle deslizante.

int GetRangeMax() const;

Valor de retorno

A posição máxima do controle.

CSliderCtrl::GetRangeMin

Recupera a posição mínima do controle deslizante.

int GetRangeMin() const;

Valor de retorno

A posição mínima do controle.

CSliderCtrl::GetSelection

Recupera as posições inicial e final da seleção atual em um controle deslizante.

void GetSelection(
    int& nMin,
    int& nMax) const;

Parâmetros

nMin
Referencia um inteiro que recebe a posição inicial da seleção atual.

nMax
Referencia um inteiro que recebe a posição final da seleção atual.

CSliderCtrl::GetThumbLength

Recupera o tamanho do controle deslizante no controle trackbar atual.

int GetThumbLength() const;

Valor de retorno

O tamanho do controle deslizante, em pixels.

Comentários

Esse método envia a mensagem TBM_GETTHUMBLENGTH, que é descrita no SDK do Windows.

CSliderCtrl::GetThumbRect

Recupera o tamanho e a posição do retângulo delimitador para o controle deslizante (componente básico).

void GetThumbRect(LPRECT lprc) const;

Parâmetros

lprc
Um ponteiro para um objeto CRect que contém o retângulo delimitador do controle deslizante, quando a função retorna.

CSliderCtrl::GetTic

Recupera a posição de uma marca de escala em um controle deslizante.

int GetTic(int nTic) const;

Parâmetros

nTic
Índice baseado em zero que identifica uma marca de escala.

Valor de retorno

A posição da marca de escala especificada ou - 1, se nTic não especificar um índice válido.

CSliderCtrl::GetTicArray

Recupera o endereço da matriz que contém as posições das marcas de escala para um controle deslizante.

DWORD* GetTicArray() const;

Valor de retorno

O endereço da matriz que contém as posições da marca de escala para o controle deslizante.

CSliderCtrl::GetTicPos

Recupera a posição física atual de uma marca de escala em um controle deslizante.

int GetTicPos(int nTic) const;

Parâmetros

nTic
Índice baseado em zero que identifica uma marca de escala.

Valor de retorno

A posição física, nas coordenadas do cliente, da marca de escala especificada ou - 1, se nTic não especificar um índice válido.

CSliderCtrl::GetToolTips

Recupera o identificador para o controle de dica de ferramenta atribuído ao controle deslizante, se houver.

CToolTipCtrl* GetToolTips() const;

Valor de retorno

Um ponteiro para um objeto CToolTipCtrl ou NULL, se as dicas de ferramenta não estiverem em uso. Se o controle deslizante não usar o estilo TBS_TOOLTIPS, o valor retornado será NULL.

Comentários

Essa função membro implementa o comportamento da mensagem TBM_GETTOOLTIPS do Win32, conforme descrito no SDK do Windows. Observe que essa função de membro retorna um objeto CToolTipCtrl, em vez de um identificador para um controle.

Para obter uma descrição dos estilos de controle trackbar, confira Estilos de Controle de Trackbar no SDK do Windows.

CSliderCtrl::SetBuddy

Atribui uma janela como a janela privada de um controle deslizante.

CWnd* SetBuddy(
    CWnd* pWndBuddy,
    BOOL fLocation = TRUE);

Parâmetros

pWndBuddy
Um ponteiro para um objeto CWnd que será definido como janela privada do controle deslizante.

fLocation
Valor que especifica o local em que a janela privada será exibida. Este valor pode ser um dos seguintes:

  • TRUE A janela privada será exibida à esquerda do trackbar, se o controle trackbar usar o estilo TBS_HORZ. Se o trackbar usar o estilo TBS_VERT, a janela privada será exibida acima do controle trackbar.

  • FALSE A janela privada será exibida à direita do trackbar, se o controle trackbar usar o estilo TBS_HORZ. Se o trackbar usar o estilo TBS_VERT, a janela privada será exibida abaixo do controle trackbar.

Valor de retorno

Um ponteiro para um objeto CWnd que foi atribuído anteriormente ao controle deslizante nesse local.

Comentários

Essa função membro implementa o comportamento da mensagem TBM_SETBUDDY do Win32, conforme descrito no SDK do Windows. Observe que essa função de membro usa ponteiros para objetos CWnd, em vez de identificadores de janela para o valor retornado e o parâmetro.

Para obter uma descrição dos estilos de controle trackbar, confira Estilos de Controle de Trackbar no SDK do Windows.

CSliderCtrl::SetLineSize

Define o tamanho da linha para um controle deslizante.

int SetLineSize(int nSize);

Parâmetros

nSize
O novo tamanho da linha do controle deslizante.

Valor de retorno

O tamanho da linha anterior.

Comentários

O tamanho da linha afeta a movimentação do controle deslizante para o TB_LINEUP e as notificações TB_LINEDOWN.

CSliderCtrl::SetPageSize

Define o tamanho da página para um controle deslizante.

int SetPageSize(int nSize);

Parâmetros

nSize
O novo tamanho da página do controle deslizante.

Valor de retorno

O tamanho da página anterior.

Comentários

O tamanho da página afeta a movimentação do controle deslizante para o TB_PAGEUP e as notificações TB_PAGEDOWN.

CSliderCtrl::SetPos

Define a posição atual do controle deslizante.

void SetPos(int nPos);

Parâmetros

nPos
Especifica a nova posição do controle deslizante.

CSliderCtrl::SetRange

Define o intervalo (as posições máxima e mínima) do controle deslizante.

void SetRange(
    int nMin,
    int nMax,
    BOOL bRedraw = FALSE);

Parâmetros

nMin
Posição mínima do controle deslizante.

nMax
Posição máxima do controle deslizante.

bRedraw
O sinalizador redesenhado. Se esse parâmetro for TRUE, o controle deslizante será redesenhado depois que o intervalo for definido. Caso contrário, o controle deslizante não será redesenhado.

CSliderCtrl::SetRangeMax

Define o intervalo máximo do controle deslizante.

void SetRangeMax(
    int nMax,
    BOOL bRedraw = FALSE);

Parâmetros

nMax
Posição máxima do controle deslizante.

bRedraw
O sinalizador redesenhado. Se esse parâmetro for TRUE, o controle deslizante será redesenhado depois que o intervalo for definido. Caso contrário, o controle deslizante não será redesenhado.

CSliderCtrl::SetRangeMin

Define o intervalo mínimo do controle deslizante.

void SetRangeMin(
    int nMin,
    BOOL bRedraw = FALSE);

Parâmetros

nMin
Posição mínima do controle deslizante.

bRedraw
O sinalizador redesenhado. Se esse parâmetro for TRUE, o controle deslizante será redesenhado depois que o intervalo for definido. Caso contrário, o controle deslizante não será redesenhado.

CSliderCtrl::SetSelection

Define as posições inicial e final da seleção atual em um controle deslizante.

void SetSelection(
    int nMin,
    int nMax);

Parâmetros

nMin
Posição inicial do controle deslizante.

nMax
Posição final do controle deslizante.

CSliderCtrl::SetThumbLength

Define o tamanho do controle deslizante no controle trackbar atual.

void SetThumbLength(int nLength);

Parâmetros

nLength
[in] Tamanho do controle deslizante, em pixels.

Comentários

Esse método exige que o controle trackbar seja definido como estilo TBS_FIXEDLENGTH.

Esse método envia a mensagem TBM_SETTHUMBLENGTH, que é descrita no SDK do Windows.

Exemplo

O primeiro exemplo de código define a variável m_sliderCtrl, que é usada para acessar o controle trackbar atual. O exemplo também define uma variável, thumbLength, que é usada para armazenar o tamanho padrão do componente básico do controle trackbar. Essas variáveis são usadas no próximo exemplo.

// Variable to access the slider control.
CSliderCtrl m_sliderCtrl;
// Length of the slider control's thumb.
int thumbLength;

O próximo exemplo de código define o componente básico do controle trackbar como o dobro do tamanho padrão.

// Add extra initialization.

// Modify the size of the slider control's thumb.
// First, set the TBS_FIXEDLENGTH style.
m_sliderCtrl.ModifyStyle(0, TBS_FIXEDLENGTH);
thumbLength = m_sliderCtrl.GetThumbLength();
m_sliderCtrl.SetThumbLength(thumbLength * 2);

// End extra initialization.

CSliderCtrl::SetTic

Define a posição de uma marca de escala em um controle deslizante.

BOOL SetTic(int nTic);

Parâmetros

nTic
Posição da marca de escala. Esse parâmetro deve especificar um valor positivo.

Valor de retorno

Um valor diferente de zero, se a marca de escala foi definida. Caso contrário, 0.

CSliderCtrl::SetTicFreq

Define a frequência com que as marcas de escala são exibidas em um controle deslizante.

void SetTicFreq(int nFreq);

Parâmetros

nFreq
Frequência das marcas de escala.

Comentários

Por exemplo, se a frequência for definida como 2, uma marca de escala será exibida para cada incremento no intervalo do controle deslizante. A configuração padrão da frequência é 1 (ou seja, cada incremento no intervalo está associado a uma marca de escala).

Você deve criar o controle com o estilo TBS_AUTOTICKS para usar essa função. Para obter mais informações, consulte CSliderCtrl::Create.

CSliderCtrl::SetTipSide

Posiciona um controle de dica de ferramenta usado por um controle trackbar.

int SetTipSide(int nLocation);

Parâmetros

nLocation
Valor que representa o local em que o controle de dica de ferramenta deve ser exibido. Para obter uma lista de valores possíveis, confira a mensagem do Win32 TBM_SETTIPSIDE, conforme descrito no SDK do Windows.

Valor de retorno

Um valor que representa o local anterior do controle de dica de ferramenta. O valor retornado é igual a um dos valores possíveis para nLocation.

Comentários

Essa função membro implementa o comportamento da mensagem TBM_SETTIPSIDE do Win32, conforme descrito no SDK do Windows. Controles deslizantes que usam as dicas de ferramenta de exibição de estilo TBS_TOOLTIPS. Para obter uma descrição dos estilos de controle trackbar, confira Estilos de Controle de Trackbar no SDK do Windows.

CSliderCtrl::SetToolTips

Atribui um controle de dica de ferramenta a um controle deslizante.

void SetToolTips(CToolTipCtrl* pWndTip);

Parâmetros

pWndTip
Um ponteiro para um objeto CToolTipCtrl que contém as dicas de ferramenta a serem usadas com o controle deslizante.

Comentários

Essa função membro implementa o comportamento da mensagem TBM_SETTOOLTIPS do Win32, conforme descrito no SDK do Windows. Quando um controle deslizante é criado com o estilo TBS_TOOLTIPS, ele cria um controle de dica de ferramenta padrão que é exibido ao lado do controle deslizante, mostrando a posição atual do controle deslizante. Para obter uma descrição dos estilos de controle trackbar, confira Estilos de Controle de Trackbar no SDK do Windows.

Confira também

Exemplo de MFC CMNCTRL2
Classe CWnd
Gráfico da hierarquia
Classe CProgressCtrl