Verwenden von Pager-Steuerelementen
In diesem Abschnitt wird beschrieben, wie Sie das Pager-Steuerelement in Ihrer Anwendung implementieren.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Windows Benutzeroberfläche-Programmierung
Anweisungen
Initialisieren eines Pager-Steuerelements
Um das Pager-Steuerelement verwenden zu können, müssen Sie die InitCommonControlsEx-Funktion aufrufen, bei der das FLAG FÜR DIE KLASSE DER KLASSE FÜR DIE KLASSE DER KLASSE FÜR DIE _ _ INITCOMMONCONTROLSEX-Struktur im dwICC-Member festgelegt ist.
Erstellen eines Pager-Steuerelements
Verwenden Sie CreateWindow oder die CreateWindowEx-API, um ein Pager-Steuerelement zu erstellen. Der Klassenname für das Steuerelement ist WC _ PAGESCROLLER,der in Commctrl.h definiert ist. Der PGS _ HORZ-Stil wird verwendet, um einen horizontalen Pager zu erstellen, und der PGS _ VERT-Stil wird verwendet, um einen vertikalen Pager zu erstellen. Da es sich um ein untergeordnetes Steuerelement handelt, sollte auch das WS _ CHILD-Format verwendet werden.
Nachdem das Pager-Steuerelement erstellt wurde, sollten Sie ihm wahrscheinlich ein enthaltenes Fenster zuweisen. Wenn das enthaltene Fenster ein untergeordnetes Fenster ist, sollten Sie das untergeordnete Fenster zu einem untergeordneten Fenster des Pager-Steuerelements machen, damit größe und position richtig berechnet werden. Anschließend weisen Sie das Fenster mit der PGM _ SETCHILD-Meldung dem Pager-Steuerelement zu. Beachten Sie, dass das übergeordnete Fenster des enthaltenen Fensters durch diese Meldung nicht geändert wird. es weist einfach das enthaltene Fenster zu. Wenn das enthaltene Fenster eines der gängigen Steuerelemente ist, muss es über den CCS _ NORESIZE-Stil verfügen, um zu verhindern, dass das Steuerelement versucht, sich selbst in die Größe des Pagersteuerelementes zu ändern.
Verarbeiten von Pager-Steuerelementbenachrichtigungen
Es ist mindestens erforderlich, die PGN-CALCSIZE-Benachrichtigung _ zu verarbeiten. Wenn Sie diese Benachrichtigung nicht verarbeiten und einen Wert für die Breite oder Höhe eingeben, werden die Bildlaufpfeile im Pager-Steuerelement nicht angezeigt. Dies liegt daran, dass das Pager-Steuerelement die in der PGN-CALCSIZE-Benachrichtigung angegebene Breite oder Höhe verwendet, um die "ideale" Größe des enthaltenen _ Fensters zu bestimmen.
Im folgenden Beispiel wird veranschaulicht, wie sie den PGN _ CALCSIZE-Benachrichtigungsfall verarbeiten. In diesem Beispiel ist das enthaltene Fenster ein Symbolleisten-Steuerelement, das eine unbekannte Anzahl von Schaltflächen in einer unbekannten Größe enthält. Das Beispiel zeigt, wie die TB _ GETMAXSIZE-Nachricht verwendet wird, um die Größe aller Elemente in der Symbolleiste zu bestimmen. Im Beispiel wird dann die Breite aller Elemente in das iWidth-Member der NMPGCALCSIZE-Struktur platziert, das an die Benachrichtigung übergeben wird.
case PGN_SCROLL:{
LPNMPGSCROLL pScroll = (LPNMPGSCROLL)lParam;
switch(pScroll->iDir){
case PGF_SCROLLLEFT:
case PGF_SCROLLRIGHT:
case PGF_SCROLLUP:
case PGF_SCROLLDOWN:
pScroll->iScroll = 20;
break;
}
}
return 0;