Breitere Scrollbars ...



  • Hallo !

    Ich benutze die C++ BDS2006 Komponente TListView auf einem TouchScreen PC.
    Da ich leider nicht über so zarte und schmale Finger verfüge, wollte ich den Scrollbalken breiter machen. Zu meiner Verwunderung finde ich aber einen Zugriff auf HorzScrollBar oder VertScrollBar oder ähnliches.

    Gehe ich das Problem falsch an 😕



  • TListView (und viele andere Komponenten) sind nur Wrapper für die Win32-Controls. Die Breite der Scrollbars ist dann über die generellen Eigenschaften von Windows (Desktop/Eigenschaften/Darstellung/Erweitert) festgelegt.



  • Funktioniert Prima !
    Vielen Dank 👍



  • kann man dies auch programmieren via api/regestry

    programm start BL größer
    programm beenden BL kleiner



  • Ja, dies geht mit der WinAPI-Funktion SystemParametersInfo.
    Als Parameter dann SPI_GETNONCLIENTMETRICS zum Lesen und SPI_SETNONCLIENTMETRICS zum Schreiben.
    Als Struktur benötigt man dann NONCLIENTMETRICS, wobei für die ScrollBars die Einträge 'iScrollWidth' und 'iScrollHeight' gelten.

    Wenn die Veränderungen nur für dein eigenes Programm gelten sollen, dann schau dir mal die Komponente 'TScrollingWinControl' an. Diese enhält schon eine vertikale und horizontale ScollBar, die man dann für eigene Verwendung abändern kann.
    TForm und TScrollBox sind z.B. hiervon abgeleitet.

    Für die WinAPI-Wrapper Klassen (z.B. TListView, TTreeView, ...) funktioniert (leider) nur das Ändern der generellen Scrollbar-Einstellungen.


Anmelden zum Antworten