Windows Programmierung: Up-Down-Control
Willemers Informatik-Ecke

Einführende Informationen über die Programmierung von Kontrollelementen werden hier vorausgesetzt.

Allgemein

Das Up-Down-Control besteht aus zwei mit Pfeilen markierten Buttons. Es gehört zu den Common Controls. In C-Programmen ist das Einbinden der Datei COMMCTRL.H notwendig und die comctl32.lib muss zum Programm gelinkt werden.

Buddy

Es wird gern verwendet, um ganze Zahlen nach oben oder unten einzustellen. In diesem Fall wird ein Eingabefeld neben das Control gesetzt. Steuert das Up-Down den Inhalt des Eingabefeld, wird es der 'Buddy' (engl. Kumpel) des Up-Down genannt.

Um diesen Automatismus zu erzeugen, legt man ein Eingabefeld an und stellt das Up-Down daneben. Das Up-Down muss den Stil UDS_AUTOBUDDY bekommen. In dem Moment steuert es das in Z-Ordnung zuvor liegende Fensterobjekt. Wird nun noch der Stil UDS_SETBUDDYINT wird der Text dieses Objektes als Integerwert interpretiert und mit Hilfe der Nachricht WM_SETTEXT inkrementiert bzw. dekrementiert.

Standardmäßig wird durch den Pfeil nach oben dekrementiert(!) und nach unten erhöht.

Arbeitsbereich festlegen

Die Grenzen, in denen die Zahlen eingestellt werden können, werden wie im folgenden Beispiel festgelegt. Hier ist die Untergrenze 1 und die Obergrenze 8. Danach arbeitet der Oben-Pfeil auch erhöhend.

  SendMessage (GetDlgItem(hDlg, IDC_SPINCOLS), UDM_SETRANGE, 0L, MAKELONG (8, 1));

hDlg ist das Handle des Dialogs, IDC_SPINCOLS ist die Ressource-ID des Up-Down-Control.