Zum Vergrößern und Verkleinern bestimmter Bänder stehen die beiden Nachrichten RB_MAXIMIZEBAND und RB_MINIMIZEBAND zur Verfügung. Der wParam ist in beiden Fällen den Index des gewünschten Bandes (null-basierend). Der lParam-Wert kann in beiden Fällen Null sein, aber nur bei der Nachricht RB_MAXIMIZEBAND ist auch ein Wert größer als Null möglich. Ein Wert größer Null wäre dann der Idealwert des Bandes, der zum Maximieren benutzt wird:
SendMessage(hRB,RB_MAXIMIZEBAND,0,300);
In dem Fall würde das Band auf eine Breite von genau 300 Pixel maximiert werden. Wird stattdessen Null benutzt, wird das Band so weit wie möglich maximiert.:
SendMessage(hRB,RB_MAXIMIZEBAND,0,0);
Wie gesagt: beim Minimieren eines Bandes kann lParam grundsätzlich nur Null sein:
SendMessage(hRB,RB_MINIMIZEBAND,1,0);
Nach dieser Methode ist das erste Band immer das, welches sich an erster Stelle im Rebar-Control befindet. Wenn Sie die Bänder verschieben, ändert sich dementsprechend auch ihr Index.
Wenn Sie aber das zuerst erzeugte Band minimieren oder maximieren wollen, unabhängig von seiner Position innerhalb der Rebar, dann müssen Sie seine ID in den aktuell gültigen Index umwandeln. Dazu verwenden Sie "RB_IDTOINDEX", wobei der wparam die entsprechende ID ist. In unserem Beispiel war das zuerst erzeugte Control die Combobox, die sich im Band mit der ID der Combobox (IDC_COMBOBOX) befindet. Den Index dieses Bandes erhalten wir daher so:
i := SendMessage(hRB,RB_IDTOINDEX,IDC_COMBOBOX,0);
Ist der Wert ungleich -1, können wir nun eine der o.g. Nachrichten zum Minimieren oder Maximieren des Bandes benutzen, wobei wir den ermittelten Indexwert als wparam angeben.
Benutzen zwei Bänder die selbe ID, wird der Index des zuerst gefundenen Bandes zurückgeliefert.