[C++] Wie ändert man die Farbe eines FlowLayoutPanel-Schiebebalkens?

1 Antwort

(...) ich habe keine Ahnung wie man das Ding nennt (...)

Bildlaufleiste bzw. Scrollbar.

Gibt es eine Möglichkeit diese Balkenfarbe zu ändern?

Ich habe nun nicht explizit nachgeschaut, doch ich vermute, dass die Leiste ebenso wie bei anderen Windows Forms-Komponenten intern mit Hilfe der Win32-API gezeichnet wird.

Du kannst dir einmal die folgenden beiden Lösungen anschauen. Sie implementieren jeweils eine eigene, anpassbare Scrollbar (allerdings mit C# / VB.NET).

Ansonsten kannst du auch versuchen, die Standardleiste mittels des AutoScroll-Properties zu verstecken (false) und dann die separate ScrollBar-Komponente hinzuzufügen. Diese besitzt Properties zum Definieren von Vorder- und Hintergrundfarbe. Das Scroll-Event bräuchte einen Ereignishandler, welcher die Scrollposition des Panels auf die der ScrollBar-Komponente setzt.

Beispiel für eine vertikale Scrollbar:

panel.VerticalScroll.Value = scrollbar.Value;