Procedimiento para procesar mensajes de notificación de la barra de seguimiento
Las barras de seguimiento notifican a su ventana primaria las acciones del usuario enviando al elemento primario un mensaje de WM_HSCROLL o WM_VSCROLL .
Lo que necesita saber
Tecnologías
Requisitos previos
- C/C++
- Programación de la interfaz de usuario de Windows
Instrucciones
Procesar mensajes de notificación de la barra de seguimiento
El siguiente ejemplo de código es una función a la que se llama cuando la ventana principal de la barra de seguimiento recibe un mensaje de WM_HSCROLL . La barra de seguimiento de este ejemplo tiene el estilo TBS_ENABLESELRANGE . La posición del control deslizante se compara con el intervalo de selección y el control deslizante se mueve a la posición inicial o final del intervalo de selección cuando sea necesario.
// TBNotifications - handles trackbar notifications received
// in the wParam parameter of WM_HSCROLL. This function simply
// ensures that the slider remains within the selection range.
VOID WINAPI TBNotifications(
WPARAM wParam, // wParam of WM_HSCROLL message
HWND hwndTrack, // handle of trackbar window
UINT iSelMin, // minimum value of trackbar selection
UINT iSelMax) // maximum value of trackbar selection
{
DWORD dwPos; // current position of slider
switch (LOWORD(wParam)) {
case TB_ENDTRACK:
dwPos = SendMessage(hwndTrack, TBM_GETPOS, 0, 0);
if (dwPos > iSelMax)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMax);
else if (dwPos < iSelMin)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMin);
break;
default:
break;
}
}
Comentarios
Un cuadro de diálogo que contiene una barra de seguimiento de estilo TBS_VERT puede usar esta función cuando recibe un mensaje WM_VSCROLL .
Temas relacionados