Verarbeiten von Trackbar-Benachrichtigungen
Trackbars benachrichtigen das übergeordnete Fenster über Benutzeraktionen, indem sie dem übergeordneten Element eine WM_HSCROLL - oder WM_VSCROLL-Nachricht senden.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Verarbeiten von Trackbar-Benachrichtigungen
Das folgende Codebeispiel ist eine Funktion, die aufgerufen wird, wenn das übergeordnete Fenster der Trackleiste eine WM_HSCROLL Nachricht empfängt. Die Trackleiste in diesem Beispiel weist den stil TBS_ENABLESELRANGE auf. Die Position des Schiebereglers wird mit dem Auswahlbereich verglichen, und der Schieberegler wird bei Bedarf an die Anfangs- oder Endposition des Auswahlbereichs verschoben.
// 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;
}
}
Bemerkungen
Ein Dialogfeld, das eine TBS_VERT Trackleiste enthält, kann diese Funktion verwenden, wenn eine WM_VSCROLL Nachricht empfangen wird.
Zugehörige Themen