Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Fornece a funcionalidade do controlo deslizante comum do Windows.
Sintaxe
class CSliderCtrl : public CWnd
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CSliderCtrl::CSliderCtrl |
Constrói um CSliderCtrl objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
CSliderCtrl::ClearSel |
Limpa a seleção atual num controlo deslizante. |
CSliderCtrl::ClearTics |
Remove as marcas de tiques atuais de um controlo deslizante. |
CSliderCtrl::Create |
Cria um controlo deslizante e liga-o a um CSliderCtrl objeto. |
CSliderCtrl::CreateEx |
Cria um controlo deslizante com os estilos estendidos do Windows especificados e anexa-o a um CSliderCtrl objeto. |
CSliderCtrl::GetBuddy |
Recupera a maçaneta para uma janela de controlo deslizante num dado local. |
CSliderCtrl::GetChannelRect |
Recupera o tamanho do canal do controlo deslizante. |
CSliderCtrl::GetLineSize |
Recupera o tamanho da linha de um controlo deslizante. |
CSliderCtrl::GetNumTics |
Recupera o número de marcas de assinalação num controlo deslizante. |
CSliderCtrl::GetPageSize |
Recupera o tamanho da página de um controlo deslizante. |
CSliderCtrl::GetPos |
Recupera a posição atual do slider. |
CSliderCtrl::GetRange |
Recupera as posições mínima e máxima para um slider. |
CSliderCtrl::GetRangeMax |
Recupera a posição máxima para um slider. |
CSliderCtrl::GetRangeMin |
Recupera a posição mínima para um slider. |
CSliderCtrl::GetSelection |
Recupera o intervalo da seleção atual. |
CSliderCtrl::GetThumbLength |
Recupera o comprimento do slider no controlo atual da barra de trilho. |
CSliderCtrl::GetThumbRect |
Recupera o tamanho do polegar do controlo deslizante. |
CSliderCtrl::GetTic |
Recupera a posição da marca de assinalação especificada. |
CSliderCtrl::GetTicArray |
Recupera o array de posições de assinalação para um controlo deslizante. |
CSliderCtrl::GetTicPos |
Recupera a posição da marca de assinalação especificada, em coordenadas do cliente. |
CSliderCtrl::GetToolTips |
Recupera a alavanca do controlo tooltip atribuído ao controlo deslizante, se houver. |
CSliderCtrl::SetBuddy |
Atribui uma janela como janela de companheiros para um controlo deslizante. |
CSliderCtrl::SetLineSize |
Define o tamanho da linha de um controlo deslizante. |
CSliderCtrl::SetPageSize |
Define o tamanho da página de um controlo deslizante. |
CSliderCtrl::SetPos |
Define a posição atual do deslizador. |
CSliderCtrl::SetRange |
Define as posições mínima e máxima para um slider. |
CSliderCtrl::SetRangeMax |
Define a posição máxima para um slider. |
CSliderCtrl::SetRangeMin |
Define a posição mínima para um slider. |
CSliderCtrl::SetSelection |
Define o intervalo da seleção atual. |
CSliderCtrl::SetThumbLength |
Define o comprimento do slider no controlo atual da barra de trilhos. |
CSliderCtrl::SetTic |
Define a posição da marca de assinalação especificada. |
CSliderCtrl::SetTicFreq |
Define a frequência das marcas de assinalação por incremento de controlo deslizante. |
CSliderCtrl::SetTipSide |
Posiciona um controlo de tooltip usado por um controlo de barra de tração. |
CSliderCtrl::SetToolTips |
Atribui um controlo tooltip a um controlo deslizante. |
Observações
Um "controlo deslizante" (também conhecido como trackbar) é uma janela que contém um controlo deslizante e marcas opcionais. Quando o utilizador move o controlo deslizante, usando o rato ou as teclas de direção, o controlo envia mensagens de notificação para indicar a alteração.
Os controlos deslizantes são úteis quando se quer que o utilizador selecione um valor discreto ou um conjunto de valores consecutivos num intervalo. Por exemplo, pode usar um controlo deslizante para permitir ao utilizador definir a taxa de repetição do teclado, movendo o controlo para um determinado marcador.
Este controlo (e, portanto, a CSliderCtrl classe) está disponível apenas para programas a correr sob Windows 95/98 e Windows NT versão 3.51 e posteriores.
O slider move-se em incrementos que especificas quando o crias. Por exemplo, se especificar que o slider deve ter um intervalo de cinco, ele só pode ocupar seis posições: uma posição no lado esquerdo do controlo do slider e uma posição para cada incremento do intervalo. Normalmente, cada uma destas posições é identificada por uma marca de assinalação.
Cria-se um slider usando o construtor e a Create função membro de CSliderCtrl. Depois de criares um controlo deslizante, podes usar funções de membro para CSliderCtrl alterar muitas das suas propriedades. As alterações que pode fazer incluem definir as posições mínima e máxima para o slider, desenhar marcas de assinalação, definir um intervalo de seleção e reposicionar o slider.
Para mais informações sobre a utilização CSliderCtrlde , veja Controlos e Utilização CSliderCtrlde .
Hierarquia de herança
CSliderCtrl
Requerimentos
Cabeçalho:afxcmn.h
CSliderCtrl::ClearSel
Limpa a seleção atual num controlo deslizante.
void ClearSel(BOOL bRedraw = FALSE);
Parâmetros
bRedraw
Bandeira de redesenho. Se este parâmetro for TRUE, o slider é redesenhado após a seleção ser apagada; caso contrário, o slider não é redesenhado.
CSliderCtrl::ClearTics
Remove as marcas de tiques atuais de um controlo deslizante.
void ClearTics(BOOL bRedraw = FALSE);
Parâmetros
bRedraw
Bandeira de redesenho. Se este parâmetro for TRUE, o slider é redesenhado depois de as marcas de assinalação serem eliminadas; caso contrário, o slider não é redesenhado.
CSliderCtrl::Create
Cria um controlo deslizante e liga-o a um CSliderCtrl objeto.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwStyle
Especifica o estilo do controlo deslizante. Aplique qualquer combinação de estilos de controlo deslizante, descritos no SDK do Windows, ao controlo.
rect
Especifica o tamanho e a posição do controlo deslizante. Pode ser um CRect objeto ou uma RECT estrutura.
pParentWnd
Especifica a janela pai do controlo deslizante, normalmente um CDialog. Não pode ser NULL.
nID
Especifica o ID do controlo deslizante.
Valor de retorno
Não nula se a inicialização fosse bem-sucedida; caso contrário, 0.
Observações
Constróis um A CSliderCtrl em dois passos. Primeiro, chama o construtor, e depois chama Create, que cria o controlo deslizante e o anexa ao CSliderCtrl objeto.
Dependendo dos valores definidos para dwStyle, o controlo deslizante pode ter uma orientação vertical ou horizontal. Pode ter marcas de tiques em ambos os lados, em ambos os lados ou em nenhum. Também pode ser usado para especificar um intervalo de valores consecutivos.
Para aplicar estilos de janela estendida ao controlo deslizante, chame CreateEx em vez de Create.
CSliderCtrl::CreateEx
Cria um controlo (uma janela filha) e associa-o ao CSliderCtrl objeto.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwExStyle
Especifica o estilo estendido do controlo que está a ser criado. Para uma lista de estilos extensos do Windows, consulte o dwExStyle parâmetro para CreateWindowEx no SDK do Windows.
dwStyle
Especifica o estilo do controlo deslizante. Aplique qualquer combinação de estilos de controlo deslizante, descritos no SDK do Windows, ao controlo.
rect
Uma referência a uma RECT estrutura que descreve o tamanho e a posição da janela a ser criada, em coordenadas cliente de pParentWnd.
pParentWnd
Um apontador para a janela que é o pai do controlo.
nID
O ID da janela criança do controlo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Use CreateEx em vez de Create para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_de estilo estendido do Windows .
CSliderCtrl::CSliderCtrl
Constrói um CSliderCtrl objeto.
CSliderCtrl();
CSliderCtrl::GetBuddy
Recupera a maçaneta para uma janela de controlo deslizante num dado local.
CWnd* GetBuddy(BOOL fLocation = TRUE) const;
Parâmetros
fLocation
Um valor booleano que indica qual dos dois handles de janela de parceiro recuperar. Pode ser um dos seguintes valores:
TRUERecupera a pega do companheiro à esquerda do slider. Se o controlo do slider usar oTBS_VERTestilo, a mensagem irá recuperar o companheiro acima do slider.FALSERecupera a pega do companheiro à direita do slider. Se o controlo deslizante usar oTBS_VERTestilo, a mensagem irá recuperar o parceiro abaixo do deslizante.
Valor de retorno
Um apontador para um CWnd objeto que é a janela de pares na localização especificada por fLocation, ou NULL se não existir nenhuma janela de pares nesse local.
Observações
Esta função membro implementa o comportamento da mensagem TBM_GETBUDDYWin32 , conforme descrito no SDK do Windows. Para uma descrição dos estilos de controlo por slider, veja Estilos de Controlo da Trackbar no SDK do Windows.
CSliderCtrl::GetChannelRect
Recupera o tamanho e a posição do retângulo delimitador para o canal de um controlo deslizante.
void GetChannelRect(LPRECT lprc) const;
Parâmetros
lprc
Um ponteiro para um CRect objeto que contém o tamanho e a posição do retângulo delimitador do canal quando a função regressa.
Observações
O canal é a área sobre a qual o slider se move e que contém o destaque quando um intervalo é selecionado.
CSliderCtrl::GetLineSize
Recupera o tamanho da linha para um controlo deslizante.
int GetLineSize() const;
Valor de retorno
O tamanho de uma linha para o controlo deslizante.
Observações
O tamanho da linha afeta o quanto o slider se move para as TB_LINEUP notificações de and TB_LINEDOWN . A definição padrão para o tamanho da linha é 1.
CSliderCtrl::GetNumTics
Recupera o número de marcas de assinalação num controlo deslizante.
UINT GetNumTics() const;
Valor de retorno
O número de marcas de assinalação no controlo deslizante.
CSliderCtrl::GetPageSize
Recupera o tamanho da página para um controlo deslizante.
int GetPageSize() const;
Valor de retorno
O tamanho de uma página para o controlo deslizante.
Observações
O tamanho da página afeta o quanto o slider se move para as TB_PAGEUP notificações de and TB_PAGEDOWN .
CSliderCtrl::GetPos
Recupera a posição atual do slider num controlo de slider.
int GetPos() const;
Valor de retorno
A posição atual.
CSliderCtrl::GetRange
Recupera as posições máximas e mínimas do slider num controlo de slider.
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.
Observações
Esta função copia os valores nos inteiros referenciados por nMin e nMax.
CSliderCtrl::GetRangeMax
Recupera a posição máxima do slider num controlo de slider.
int GetRangeMax() const;
Valor de retorno
A posição máxima do controlo.
CSliderCtrl::GetRangeMin
Recupera a posição mínima do slider num controlo de slider.
int GetRangeMin() const;
Valor de retorno
A posição mínima do controlo.
CSliderCtrl::GetSelection
Recupera as posições inicial e final da seleção atual num controlo deslizante.
void GetSelection(
int& nMin,
int& nMax) const;
Parâmetros
nMin
Referência a um inteiro que recebe a posição inicial da seleção atual.
nMax
Referência a um inteiro que recebe a posição final da seleção atual.
CSliderCtrl::GetThumbLength
Recupera o comprimento do slider no controlo atual da barra de trilho.
int GetThumbLength() const;
Valor de retorno
O comprimento do controlo deslizante, em pixels.
Observações
Este método envia a TBM_GETTHUMBLENGTH mensagem, que é descrita no SDK do Windows.
CSliderCtrl::GetThumbRect
Recupera o tamanho e a posição do retângulo delimitador para o slider (polegar) num controlo de slider.
void GetThumbRect(LPRECT lprc) const;
Parâmetros
lprc
Um ponteiro para um CRect objeto que contém o retângulo delimitador do slider quando a função regressa.
CSliderCtrl::GetTic
Recupera a posição de uma marca de assinalação num controlo deslizante.
int GetTic(int nTic) const;
Parâmetros
nTic
Índice baseado em zero que identifica uma marca de assinalação.
Valor de retorno
A posição do tick mark especificado ou - 1 se nTic não especificar um índice válido.
CSliderCtrl::GetTicArray
Recupera o endereço do array que contém as posições das marcas de assinalação para um controlo deslizante.
DWORD* GetTicArray() const;
Valor de retorno
O endereço do array que contém as posições das marcas de assinalação para o controlo do slider.
CSliderCtrl::GetTicPos
Recupera a posição física atual de uma marca de assinalação num controlo deslizante.
int GetTicPos(int nTic) const;
Parâmetros
nTic
Índice baseado em zero que identifica uma marca de assinalação.
Valor de retorno
A posição física, em coordenadas do cliente, do tick mark especificado ou - 1 se nTic não especificar um índice válido.
CSliderCtrl::GetToolTips
Recupera a alavanca do controlo tooltip atribuído ao controlo deslizante, se houver.
CToolTipCtrl* GetToolTips() const;
Valor de retorno
Um apontador para um CToolTipCtrl objeto, ou NULL se as dicas de ferramenta não estiverem a ser usadas. Se o controlo deslizante não usar o TBS_TOOLTIPS estilo, o valor de retorno é NULL.
Observações
Esta função membro implementa o comportamento da mensagem TBM_GETTOOLTIPSWin32 , conforme descrito no SDK do Windows. Note-se que esta função membro devolve um CToolTipCtrl objeto em vez de uma alavanca a um controlo.
Para uma descrição dos estilos de controlo por slider, veja Estilos de Controlo da Trackbar no SDK do Windows.
CSliderCtrl::SetBuddy
Atribui uma janela como janela de companheiros para um controlo deslizante.
CWnd* SetBuddy(
CWnd* pWndBuddy,
BOOL fLocation = TRUE);
Parâmetros
pWndBuddy
Um apontador para um CWnd objeto que será definido como parceiro do controlo deslizante.
fLocation
Valor que especifica o local onde mostrar a janela de companheiros. Esse valor pode ser um dos seguintes:
TRUEO companheiro aparecerá à esquerda da barra de tração se o controlo da barra usar oTBS_HORZestilo. Se a trackbar usar oTBS_VERTestilo, o buddy aparece acima do controlo da trackbar.FALSEO companheiro aparecerá à direita da barra de tração se o controlo da barra usar esseTBS_HORZestilo. Se a barra de tração usar oTBS_VERTestilo, o parceiro aparece abaixo do controlo da barra de trança.
Valor de retorno
Um apontador para um CWnd objeto que estava anteriormente atribuído ao controlo deslizante nesse local.
Observações
Esta função membro implementa o comportamento da mensagem TBM_SETBUDDYWin32 , conforme descrito no SDK do Windows. Note que esta função membro usa ponteiros para CWnd objetos, em vez de handles de janela tanto para o seu valor de retorno como para o parâmetro.
Para uma descrição dos estilos de controlo por slider, veja Estilos de Controlo da Trackbar no SDK do Windows.
CSliderCtrl::SetLineSize
Define o tamanho da linha para um controlo deslizante.
int SetLineSize(int nSize);
Parâmetros
nSize
O novo tamanho da linha do controlo deslizante.
Valor de retorno
O tamanho da linha anterior.
Observações
O tamanho da linha afeta o quanto o slider se move para as TB_LINEUP notificações de and TB_LINEDOWN .
CSliderCtrl::SetPageSize
Define o tamanho da página para um controlo deslizante.
int SetPageSize(int nSize);
Parâmetros
nSize
O novo tamanho de página do controlo deslizante.
Valor de retorno
O tamanho da página anterior.
Observações
O tamanho da página afeta o quanto o slider se move para as TB_PAGEUP notificações de and TB_PAGEDOWN .
CSliderCtrl::SetPos
Define a posição atual do slider num controlo de slider.
void SetPos(int nPos);
Parâmetros
nPos
Especifica a nova posição do deslizante.
CSliderCtrl::SetRange
Define o alcance (posições mínima e máxima) para o slider num controlo de slider.
void SetRange(
int nMin,
int nMax,
BOOL bRedraw = FALSE);
Parâmetros
nMin
Posição mínima para o slider.
nMax
Posição máxima para o slider.
bRedraw
A bandeira de redesenho. Se este parâmetro for TRUE, o slider é redesenhado depois de definir o intervalo; caso contrário, o slider não é redesenhado.
CSliderCtrl::SetRangeMax
Define o alcance máximo do slider num controlo de slider.
void SetRangeMax(
int nMax,
BOOL bRedraw = FALSE);
Parâmetros
nMax
Posição máxima para o slider.
bRedraw
A bandeira de redesenho. Se este parâmetro for TRUE, o slider é redesenhado depois de definir o intervalo; caso contrário, o slider não é redesenhado.
CSliderCtrl::SetRangeMin
Define o alcance mínimo para o slider num controlo de slider.
void SetRangeMin(
int nMin,
BOOL bRedraw = FALSE);
Parâmetros
nMin
Posição mínima para o slider.
bRedraw
A bandeira de redesenho. Se este parâmetro for TRUE, o slider é redesenhado depois de definir o intervalo; caso contrário, o slider não é redesenhado.
CSliderCtrl::SetSelection
Define as posições inicial e final da seleção atual num controlo deslizante.
void SetSelection(
int nMin,
int nMax);
Parâmetros
nMin
Posição inicial para o slider.
nMax
Posição final para o slider.
CSliderCtrl::SetThumbLength
Define o comprimento do slider no controlo atual da barra de trilhos.
void SetThumbLength(int nLength);
Parâmetros
nLength
[dentro] Comprimento do controlo deslizante, em pixels.
Observações
Este método requer que o controlo da trackbar esteja definido para TBS_FIXEDLENGTH style.
Este método envia a TBM_SETTHUMBLENGTH mensagem, que é descrita no SDK do Windows.
Example
O primeiro exemplo de código define a variável, m_sliderCtrl, que é usada para aceder ao controlo atual da barra de via. O exemplo também define uma variável, thumbLength, que é usada para armazenar o comprimento padrão do componente de polegar do controlo da barra de tração. Estas variáveis são usadas no exemplo seguinte.
// 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 do polegar do controlo da barra de trilho para o dobro do seu comprimento 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 assinalação num controlo deslizante.
BOOL SetTic(int nTic);
Parâmetros
nTic
Posição da marca de assinalação. Este parâmetro deve especificar um valor positivo.
Valor de retorno
Diferente de zero se a marca de assinalação estiver definida; caso contrário, 0.
CSliderCtrl::SetTicFreq
Define a frequência com que as marcas de assinalação são exibidas num slider.
void SetTicFreq(int nFreq);
Parâmetros
nFreq
Frequência das marcas.
Observações
Por exemplo, se a frequência estiver definida para 2, é exibida uma marca de assinalação para cada outro incremento no intervalo do controlo deslizante. A definição padrão para a frequência é 1 (ou seja, cada incremento no intervalo está associado a uma marca de assinalação).
Deve criar o controlo com o TBS_AUTOTICKS estilo para usar esta função. Para obter mais informações, consulte CSliderCtrl::Create.
CSliderCtrl::SetTipSide
Posiciona um controlo de tooltip usado por um controlo de barra de tração.
int SetTipSide(int nLocation);
Parâmetros
nLocation
Valor que representa o local onde mostrar o controlo tooltip. Para uma lista de valores possíveis, veja a mensagem TBM_SETTIPSIDEWin32 , conforme descrito no SDK do Windows.
Valor de retorno
Um valor que representa a localização anterior do controlo tooltip. O valor de retorno é igual a um dos valores possíveis para nLocation.
Observações
Esta função membro implementa o comportamento da mensagem TBM_SETTIPSIDEWin32 , conforme descrito no SDK do Windows. Controlos deslizantes que usam as dicas TBS_TOOLTIPS de ferramentas de exibição de estilo. Para uma descrição dos estilos de controlo por slider, veja Estilos de Controlo da Trackbar no SDK do Windows.
CSliderCtrl::SetToolTips
Atribui um controlo tooltip a um controlo deslizante.
void SetToolTips(CToolTipCtrl* pWndTip);
Parâmetros
pWndTip
Um apontador para um CToolTipCtrl objeto contendo as dicas de ferramentas para usar com o controlo deslizante.
Observações
Esta função membro implementa o comportamento da mensagem TBM_SETTOOLTIPSWin32 , conforme descrito no SDK do Windows. Quando um controlo deslizante é criado com o TBS_TOOLTIPS estilo, cria-se um controlo predefinido de tooltip que aparece ao lado do slider, mostrando a posição atual do deslizante. Para uma descrição dos estilos de controlo por slider, veja Estilos de Controlo da Trackbar no SDK do Windows.
Consulte também
Exemplo MFC CMNCTRL2
CWnd Classe
Gráfico de Hierarquia
CProgressCtrl Classe