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
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 estiloTBS_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 estiloTBS_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 estiloTBS_HORZ
. Se o trackbar usar o estiloTBS_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 estiloTBS_HORZ
. Se o trackbar usar o estiloTBS_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