Clase CSliderCtrl
Proporciona la funcionalidad del control deslizante común de Windows.
Sintaxis
class CSliderCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CSliderCtrl::CSliderCtrl |
Construye un objeto CSliderCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CSliderCtrl::ClearSel |
Borra la selección actual en un control deslizante. |
CSliderCtrl::ClearTics |
Quita las marcas de graduación actuales de un control deslizante. |
CSliderCtrl::Create |
Crea un control deslizante y lo asocia a un objeto CSliderCtrl . |
CSliderCtrl::CreateEx |
Crea un control deslizante con los estilos extendidos de Windows especificados y lo adjunta a un objeto CSliderCtrl . |
CSliderCtrl::GetBuddy |
Recupera el identificador de una ventana del compañero de control deslizante en una ubicación determinada. |
CSliderCtrl::GetChannelRect |
Recupera el tamaño del canal del control deslizante. |
CSliderCtrl::GetLineSize |
Recupera el tamaño de línea de un control deslizante. |
CSliderCtrl::GetNumTics |
Recupera el número de marcas de graduación en un control deslizante. |
CSliderCtrl::GetPageSize |
Recupera el tamaño de página de un control deslizante. |
CSliderCtrl::GetPos |
Establece la posición actual del control deslizante. |
CSliderCtrl::GetRange |
Recupera las posiciones mínimas y máximas de un control deslizante. |
CSliderCtrl::GetRangeMax |
Recupera la posición máxima de un control deslizante. |
CSliderCtrl::GetRangeMin |
Recupera la posición mínima de un control deslizante. |
CSliderCtrl::GetSelection |
Recupera el intervalo de la selección actual. |
CSliderCtrl::GetThumbLength |
Recupera la longitud del control deslizante en el control de barra de seguimiento actual. |
CSliderCtrl::GetThumbRect |
Recupera el tamaño de la miniatura del control deslizante. |
CSliderCtrl::GetTic |
Recupera el tamaño y la posición de la marca especificada. |
CSliderCtrl::GetTicArray |
Recupera la matriz de posiciones de marcas de graduación para un control deslizante. |
CSliderCtrl::GetTicPos |
Recupera la posición de la marca de graduación especificada, en coordenadas de cliente. |
CSliderCtrl::GetToolTips |
Recupera el identificador del control de información sobre herramientas asignado al control deslizante, si existe. |
CSliderCtrl::SetBuddy |
Asigna una ventana como ventana de compañero para un control deslizante. |
CSliderCtrl::SetLineSize |
Establece el tamaño de línea de un control deslizante. |
CSliderCtrl::SetPageSize |
Establece el tamaño de página de un control deslizante. |
CSliderCtrl::SetPos |
Establece la posición actual del control deslizante. |
CSliderCtrl::SetRange |
Establece las posiciones mínimas y máximas de un control deslizante. |
CSliderCtrl::SetRangeMax |
Establece la posición máxima de un control deslizante. |
CSliderCtrl::SetRangeMin |
Establece la posición mínima de un control deslizante. |
CSliderCtrl::SetSelection |
Establece el intervalo de la selección actual. |
CSliderCtrl::SetThumbLength |
Establece la longitud del control deslizante en el control de barra de seguimiento actual. |
CSliderCtrl::SetTic |
Establece el tamaño y la posición de la marca especificada. |
CSliderCtrl::SetTicFreq |
Establece la frecuencia de marcas de graduación por incremento de control deslizante. |
CSliderCtrl::SetTipSide |
Coloca un control de información sobre herramientas utilizado por un control de barra de seguimiento. |
CSliderCtrl::SetToolTips |
Asigna un control de información sobre herramientas a un control deslizante. |
Comentarios
Un «control deslizante» (también conocido como barra de seguimiento) es una ventana que contiene un control deslizante y marcas de graduación opcionales. Cuando el usuario mueve el control deslizante, utilizando el ratón o las teclas de dirección, el control envía mensajes de notificación para indicar el cambio.
Los controles deslizantes son útiles cuando desea que el usuario seleccione un valor discreto o un conjunto de valores consecutivos en un rango. Por ejemplo, puedes usar un control deslizante para permitir al usuario establecer la velocidad de repetición del teclado moviendo el control deslizante a una marca de graduación determinada.
Este control (y, por tanto, la clase CSliderCtrl
) solo está disponible para los programas que se ejecutan en Windows 95/98 y Windows NT 3.51 y posteriores.
El control deslizante se mueve en incrementos que se especifican al crearlo. Por ejemplo, si especifica que el control deslizante debe tener un rango de cinco, el control deslizante solo puede ocupar seis posiciones: una posición en el lado izquierdo del control deslizante y una posición por cada incremento del intervalo. Normalmente, cada una de estas posiciones se identifica mediante una marca de graduación.
Para crear un control deslizante, usa el constructor y la función Create
miembro de CSliderCtrl
. Una vez creado un control deslizante, puedes usar funciones miembro en CSliderCtrl
para cambiar muchas de sus propiedades. Los cambios que puede realizar incluyen establecer las posiciones mínimas y máximas para el control deslizante, dibujar marcas de graduación, establecer un intervalo de selección y cambiar la posición del control deslizante.
Para obtener más información sobre el uso de la clase CSliderCtrl
, consulte Controles y Uso de CSliderCtrl
.
Jerarquía de herencia
CSliderCtrl
Requisitos
Encabezado: afxcmn.h
CSliderCtrl::ClearSel
Borra la selección actual en un control deslizante.
void ClearSel(BOOL bRedraw = FALSE);
Parámetros
bRedraw
Volver a dibujar la marca. Si este parámetro es TRUE
, el control deslizante se vuelve a dibujar después de borrar la selección; de lo contrario, el control deslizante no se vuelve a dibujar.
CSliderCtrl::ClearTics
Quita las marcas de graduación actuales de un control deslizante.
void ClearTics(BOOL bRedraw = FALSE);
Parámetros
bRedraw
Volver a dibujar la marca. Si este parámetro es TRUE
, el control deslizante se vuelve a dibujar después de borrar las marcas de graduación; de lo contrario, el control deslizante no se vuelve a dibujar.
CSliderCtrl::Create
Crea un control deslizante y lo asocia a un objeto CSliderCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
Especifica el estilo del control deslizante. Aplica cualquier combinación de estilos de control deslizante, descritos en Windows SDK, al control.
rect
Especifica el tamaño y la posición del control deslizante. Puede ser un objeto CRect
o una estructura RECT
.
pParentWnd
Especifica la ventana primaria del control deslizante, normalmente CDialog
. Este valor no debe ser NULL
.
nID
Especifica el ID del control deslizante.
Valor devuelto
Es distinto de cero si la inicialización se realiza correctamente; de lo contrario,es 0.
Comentarios
El proceso de construcción de un elemento CSliderCtrl
se divide en dos pasos. En primer lugar, llama al constructor y, luego, a Create
, lo que crea el control deslizante y lo asocia al objeto CSliderCtrl
.
Según los valores establecidos para dwStyle
, el control deslizante puede tener una orientación vertical u horizontal. Puede tener marcas de graduación en uno de los lados, en ambos o en ninguno. También se puede usar para especificar un rango de valores consecutivos.
Para aplicar estilos de ventana extendidos al control deslizante, llama a CreateEx
en lugar de Create
.
CSliderCtrl::CreateEx
Esta función puede usarse para crear un control (una ventana secundaria) y asociarlo con el objeto CSliderCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwExStyle
El valor de este parámetro se usa para especificar el estilo extendido del control que se va a crear. Para obtener una lista de estilos extendidos de Windows, consulte el parámetro dwExStyle
de la función CreateWindowEx
en Windows SDK.
dwStyle
Especifica el estilo del control deslizante. Aplica cualquier combinación de estilos de control deslizante, descritos en Windows SDK, al control.
rect
Una referencia a una estructura RECT
describiendo el tamaño y la posición de la ventana a crear, en las coordenadas cliente de pParentWnd
.
pParentWnd
Un puntero a la ventana que constituye el elemento primario del control.
nID
El identificador de ventana secundaria del control.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Usa la función CreateEx
, en lugar de Create
, para aplicar estilos extendidos de Windows. Estos se especifican en el prefacio de estilo extendido WS_EX_
de Windows.
CSliderCtrl::CSliderCtrl
Construye un objeto CSliderCtrl
.
CSliderCtrl();
CSliderCtrl::GetBuddy
Recupera el identificador de una ventana del compañero de control deslizante en una ubicación determinada.
CWnd* GetBuddy(BOOL fLocation = TRUE) const;
Parámetros
fLocation
Un valor booleano que indica cuál de dos identificadores de ventana de amigo se va a recuperar. Puede ser uno de los siguientes valores:
TRUE
Recupera el identificador al compañero a la izquierda del control deslizante. Si el control deslizante usa el estiloTBS_VERT
, el mensaje recuperará el compañero encima del control deslizante.FALSE
Recupera el identificador al compañero a la derecha del control deslizante. Si el control deslizante usa el estiloTBS_VERT
, el mensaje recuperará el compañero debajo del control deslizante.
Valor devuelto
Un puntero a un objeto CWnd
que es la ventana del compañero en la ubicación especificada por fLocation
, o NULL
si no existe ninguna ventana de amigo en esa ubicación.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TBM_GETBUDDY
de Win32, tal y como se describe en Windows SDK. Para obtener una descripción de los estilos del control deslizante, consulta los estilos de la barra deslizante en Windows SDK.
CSliderCtrl::GetChannelRect
Recupera el tamaño y la posición del rectángulo delimitador para el canal de un control deslizante.
void GetChannelRect(LPRECT lprc) const;
Parámetros
lprc
Un puntero a un CRect
objeto que contiene el tamaño y la posición del rectángulo delimitador del canal cuando la función devuelve.
Comentarios
El canal es el área en la que se mueve el control deslizante y que contiene el elemento resaltado cuando se selecciona un intervalo.
CSliderCtrl::GetLineSize
Recupera el tamaño de la línea de un control deslizante.
int GetLineSize() const;
Valor devuelto
Tamaño de una línea para el control deslizante.
Comentarios
El tamaño de línea afecta a cuánto se mueve el control deslizante para las notificaciones TB_LINEUP
y TB_LINEDOWN
. La configuración predeterminada para el tamaño de línea es 1.
CSliderCtrl::GetNumTics
Recupera el número de marcas de graduación en un control deslizante.
UINT GetNumTics() const;
Valor devuelto
Número de marcas de graduación en el control deslizante.
CSliderCtrl::GetPageSize
Recupera el tamaño de la página de un control deslizante.
int GetPageSize() const;
Valor devuelto
El tamaño de una página para el control deslizante.
Comentarios
El tamaño de página afecta a cuánto se mueve el control deslizante para las notificaciones TB_PAGEUP
y TB_PAGEDOWN
.
CSliderCtrl::GetPos
Recupera la posición actual del control deslizante en un control deslizante.
int GetPos() const;
Valor devuelto
Posición actual.
CSliderCtrl::GetRange
Recupera las posiciones máximas y mínimas del control deslizante en un control deslizante.
void GetRange(
int& nMin,
int& nMax) const;
Parámetros
nMin
Referencia a un entero que recibe la posición mínima.
nMax
Referencia a un entero que recibe la posición máxima.
Comentarios
Esta función copia los valores en los enteros a los que hace referencia a nMin
y nMax
.
CSliderCtrl::GetRangeMax
Recupera las posiciones máximas del control deslizador en un control deslizante.
int GetRangeMax() const;
Valor devuelto
La posición máxima del control.
CSliderCtrl::GetRangeMin
Recupera la posición mínima del deslizador en un control deslizante.
int GetRangeMin() const;
Valor devuelto
La posición mínima del control.
CSliderCtrl::GetSelection
Recupera las posiciones inicial y final de la selección actual en este objeto un control deslizante.
void GetSelection(
int& nMin,
int& nMax) const;
Parámetros
nMin
Referencia a un entero que recibe la posición inicial de la selección actual.
nMax
Referencia a un entero que recibe la posición final de la selección actual.
CSliderCtrl::GetThumbLength
Recupera la longitud del control deslizante en el control de barra de seguimiento actual.
int GetThumbLength() const;
Valor devuelto
La longitud del control deslizante, en píxeles.
Comentarios
Al usar este método, se envía el mensaje TBM_GETTHUMBLENGTH
, que se describe en Windows SDK.
CSliderCtrl::GetThumbRect
Recupera el tamaño y la posición del rectángulo delimitador del deslizador (miniatura) en un control deslizante.
void GetThumbRect(LPRECT lprc) const;
Parámetros
lprc
Puntero a un objeto CRect
que contiene el rectángulo delimitador del control deslizante cuando la función devuelve.
CSliderCtrl::GetTic
Recupera la posición de una marca de graduación en un control deslizante.
int GetTic(int nTic) const;
Parámetros
nTic
Índice de base cero que identifica una marca de graduación.
Valor devuelto
Posición de la marca de graduación especificada o - 1 si nTic
no especifica un índice válido.
CSliderCtrl::GetTicArray
Recupera la dirección de la matriz que contiene las posiciones de las marcas de graduación de un control deslizante.
DWORD* GetTicArray() const;
Valor devuelto
Dirección de la matriz que contiene posiciones de marca de graduación para el control deslizante.
CSliderCtrl::GetTicPos
Recupera la posición física actual de una marca de graduación en un control deslizante.
int GetTicPos(int nTic) const;
Parámetros
nTic
Índice de base cero que identifica una marca de graduación.
Valor devuelto
Posición física, en coordenadas de cliente, de la marca de graduación especificada o - 1 si nTic
no especifica un índice válido.
CSliderCtrl::GetToolTips
Recupera el identificador del control de información sobre herramientas asignado al control deslizante, si existe.
CToolTipCtrl* GetToolTips() const;
Valor devuelto
Puntero a un objeto CToolTipCtrl
o NULL
si la información sobre herramientas no está en uso. Si el control deslizante no usa el estilo TBS_TOOLTIPS
, el valor devuelto es NULL
.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TBM_GETTOOLTIPS
de Win32, tal y como se describe en Windows SDK. Ten en cuenta que esta función miembro devuelve un objeto CToolTipCtrl
en lugar de un identificador a un control.
Para obtener una descripción de los estilos del control deslizante, consulta los estilos de la barra deslizante en Windows SDK.
CSliderCtrl::SetBuddy
Asigna una ventana como ventana de compañero para un control deslizante.
CWnd* SetBuddy(
CWnd* pWndBuddy,
BOOL fLocation = TRUE);
Parámetros
pWndBuddy
Un puntero a un objeto CWnd
que se establecerá como compañero del control deslizante.
fLocation
Valor que especifica la ubicación en la que se va a mostrar la ventana del compañero. Este valor puede ser uno de los siguientes:
TRUE
El amigo aparecerá a la izquierda de la barra de seguimiento si el control de la barra de seguimiento usa elTBS_HORZ
estilo. Si la barra de seguimiento usa el estiloTBS_VERT
, el compañero aparece encima del control de la barra de seguimiento.FALSE
El compañero aparecerá a la derecha de la barra de seguimiento si el control de la barra de seguimiento usa el estiloTBS_HORZ
. Si la barra de seguimiento usa el estiloTBS_VERT
, el compañero aparece debajo del control de barra de seguimiento.
Valor devuelto
Un puntero a un objeto CWnd
que se asignó previamente al control deslizante en esa ubicación.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TBM_SETBUDDY
de Win32, tal y como se describe en Windows SDK. Ten en cuenta que esta función miembro usa punteros a objetos CWnd
, en lugar de identificadores de ventana para su valor devuelto y parámetro.
Para obtener una descripción de los estilos del control deslizante, consulta los estilos de la barra deslizante en Windows SDK.
CSliderCtrl::SetLineSize
Establece el tamaño de la línea de un control deslizante.
int SetLineSize(int nSize);
Parámetros
nSize
El nuevo tamaño de línea del control deslizante.
Valor devuelto
El tamaño de línea anterior.
Comentarios
El tamaño de línea afecta a cuánto se mueve el control deslizante para las notificaciones TB_LINEUP
y TB_LINEDOWN
.
CSliderCtrl::SetPageSize
Establece el tamaño de la página de un control deslizante.
int SetPageSize(int nSize);
Parámetros
nSize
El nuevo tamaño de página del control deslizante.
Valor devuelto
El tamaño de página anterior.
Comentarios
El tamaño de página afecta a cuánto se mueve el control deslizante para las notificaciones TB_PAGEUP
y TB_PAGEDOWN
.
CSliderCtrl::SetPos
Establece la posición actual del deslizador en un control deslizante.
void SetPos(int nPos);
Parámetros
nPos
Especifica la nueva posición del control deslizante.
CSliderCtrl::SetRange
Establece el rango (posiciones máximas y mínimas) del deslizador en un control deslizante.
void SetRange(
int nMin,
int nMax,
BOOL bRedraw = FALSE);
Parámetros
nMin
Posición mínima para el control deslizante.
nMax
Posición máxima para el control deslizante.
bRedraw
La marca redibujada. Si este parámetro es TRUE
, el control deslizante se vuelve a dibujar después de establecer el rango; de lo contrario, el control deslizante no se vuelve a dibujar.
CSliderCtrl::SetRangeMax
Establece el intervalo máximo del control deslizante en un control deslizante.
void SetRangeMax(
int nMax,
BOOL bRedraw = FALSE);
Parámetros
nMax
Posición máxima para el control deslizante.
bRedraw
La marca redibujada. Si este parámetro es TRUE
, el control deslizante se vuelve a dibujar después de establecer el rango; de lo contrario, el control deslizante no se vuelve a dibujar.
CSliderCtrl::SetRangeMin
Establece el intervalo mínimo para el deslizador en un control deslizante.
void SetRangeMin(
int nMin,
BOOL bRedraw = FALSE);
Parámetros
nMin
Posición mínima para el control deslizante.
bRedraw
La marca redibujada. Si este parámetro es TRUE
, el control deslizante se vuelve a dibujar después de establecer el rango; de lo contrario, el control deslizante no se vuelve a dibujar.
CSliderCtrl::SetSelection
Establece las posiciones inicial y final de la selección actual en este objeto un control deslizante.
void SetSelection(
int nMin,
int nMax);
Parámetros
nMin
Posición inicial para el control deslizante.
nMax
Posición final para el control deslizante.
CSliderCtrl::SetThumbLength
Establece la longitud del control deslizante en el control de barra de seguimiento actual.
void SetThumbLength(int nLength);
Parámetros
nLength
[in] Longitud del control deslizante, en píxeles.
Comentarios
Este método requiere que el control de barra de seguimiento se establezca en estilo TBS_FIXEDLENGTH
.
Al usar este método, se envía el mensaje TBM_SETTHUMBLENGTH
, que se describe en Windows SDK.
Ejemplo
En el primer ejemplo de código se define la variable m_sliderCtrl
, que se usa para acceder a la barra de control. En el ejemplo también se define una variable, thumbLength
, que se usa para almacenar la longitud predeterminada de la miniatura del componente del control de la barra de seguimiento. Estas variables se usan en el ejemplo siguiente.
// Variable to access the slider control.
CSliderCtrl m_sliderCtrl;
// Length of the slider control's thumb.
int thumbLength;
En el siguiente ejemplo de código se establece el componente miniatura de la barra de seguimiento de control en dos veces su longitud predeterminada.
// 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
Establece la posición de una marca de graduación en un control deslizante.
BOOL SetTic(int nTic);
Parámetros
nTic
Posición de la marca de graduación. Este parámetro debe especificar un valor positivo.
Valor devuelto
Distinto de cero si se establece la marca de graduación; de lo contrario, 0.
CSliderCtrl::SetTicFreq
Establece la frecuencia con la que se muestran las marcas de graduación en un control deslizante.
void SetTicFreq(int nFreq);
Parámetros
nFreq
Frecuencia de las marcas de graduación.
Comentarios
Por ejemplo, si la frecuencia se establece en 2, se muestra una marca de graduación para cada otro incremento en el intervalo del control deslizante. La configuración predeterminada de la frecuencia es 1 (es decir, cada incremento del intervalo está asociado a una marca de graduación).
Debe crear el control con el TBS_AUTOTICKS
estilo para usar esta función. Para obtener más información, vea CSliderCtrl::Create
.
CSliderCtrl::SetTipSide
Coloca un control de información sobre herramientas utilizado por un control de barra de seguimiento.
int SetTipSide(int nLocation);
Parámetros
nLocation
Valor que representa la ubicación en la que se va a mostrar el control de información sobre herramientas. Para obtener una lista de los valores posibles, consulta el mensaje TBM_SETTIPSIDE
Win32, como se describe en Windows SDK.
Valor devuelto
Valor que representa la ubicación anterior del control de información sobre herramientas. El valor devuelto es igual a uno de los valores posibles para nLocation
.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TBM_SETTIPSIDE
de Win32, tal y como se describe en Windows SDK. Controles deslizantes que usan la información TBS_TOOLTIPS
sobre herramientas para mostrar estilo. Para obtener una descripción de los estilos del control deslizante, consulta los estilos de la barra deslizante en Windows SDK.
CSliderCtrl::SetToolTips
Asigna un control de información sobre herramientas a un control deslizante.
void SetToolTips(CToolTipCtrl* pWndTip);
Parámetros
pWndTip
Un puntero a un objeto CToolTipCtrl
que contiene la información sobre herramientas que se va a usar con el control deslizante.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TBM_SETTOOLTIPS
de Win32, tal y como se describe en Windows SDK. Cuando se crea un control deslizante con el estilo TBS_TOOLTIPS
, crea un control de información sobre herramientas predeterminado que aparece junto al control deslizante, mostrando la posición actual del control deslizante. Para obtener una descripción de los estilos del control deslizante, consulta los estilos de la barra deslizante en Windows SDK.
Consulte también
Ejemplo de MFCCMNCTRL2
CWnd
(clase)
Gráfico de jerarquías
CProgressCtrl
(clase)