Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Scrollbar breiter
Bronstein - Mo 11.10.10 11:51
Titel: Scrollbar breiter
Hallo,
ich habe eine Anwendung gemacht, die mit einem Touch Screen bedient werden soll.
Jetzt habe ich das Problem, dass man nur sehr schlecht scrollen kann. Deshalb möchte ich diese breiter machen.
Habe jetzt schon unter Windows->Anzeige die größe der Scrollbar geändert, jedoch hat das keinen Einfluss auf meine Anwendung (StringGrid, WebBrowser).
hat jemand eine Idee?
chrisw - Mo 11.10.10 14:54
Viellecht mal mit TScrollbox versuchen !
Bronstein - Mo 11.10.10 15:53
bei der TSrollbox ist es auch nicht anderst
FinnO - Mo 11.10.10 16:42
Welches Delphi verwendest du denn? Delphi 2010 z.B. unterstützt für soetwas auch multitouch und Gestures...
LG
chrisw - Di 12.10.10 07:26
Ich weiss ja nicht, wie es bei dir ist, aber bei mir kann ich in einer Scrollbox (TScrollBox) mit Buttonsize die Höhe bzw. Breite der Scrollbar verändern !!
Bronstein - Di 12.10.10 14:16
Hallo,
ich verwende Delphi 2006.
Ich habe mal folgendes versucht, dass die Balkengröße immer verdoppeln sollte:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button1Click(Sender: TObject); begin Form1.ScrollBox2.VertScrollBar.ButtonSize := Form1.ScrollBox2.VertScrollBar.ButtonSize + Form1.ScrollBox2.VertScrollBar.ButtonSize; Form1.ScrollBox2.HorzScrollBar.ButtonSize := Form1.ScrollBox2.HorzScrollBar.ButtonSize + Form1.ScrollBox2.HorzScrollBar.ButtonSize; Form1.VertScrollBar.ButtonSize := Form1.VertScrollBar.ButtonSize + Form1.VertScrollBar.ButtonSize; Form1.HorzScrollBar.ButtonSize := Form1.HorzScrollBar.ButtonSize + Form1.HorzScrollBar.ButtonSize; Form1.Refresh; end;
procedure TForm1.FormCreate(Sender: TObject); begin Form1.ScrollBox2.VertScrollBar.ButtonSize := 20; Form1.ScrollBox2.HorzScrollBar.ButtonSize := 20; Form1.VertScrollBar.ButtonSize := 20; Form1.HorzScrollBar.ButtonSize := 20; end; |
Es funktioniert aber nicht, sprich die größe ändert sich nicht!
Bronstein - Do 21.10.10 15:45
Hat jemand noch eine Idee wie man das Problem lösen könnte?
FinnO - Do 21.10.10 16:14
Moin,
vielleicht geht o.g. Variante nur bei deaktivierten Laufzeit-Themes.?!
LG
Tropby - Do 21.10.10 16:17
Hallo,
es gibt noch die Möglichkeit hiermit was zu machen.
Dies Funktioniert jedoch nicht im TWebBrowser und ändert auch Systemweit die Einstellung. Also alle Scrollbalken auch in anderen Programmen werden dadurch größer:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var ncm: TNonClientMetrics; .... ncm.cbSize := SizeOf(TNonClientMetrics); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @ncm, 0);
Label1.Caption := IntToStr(ncm.iScrollWidth); ncm.iScrollWidth := ncm.iScrollWidth + 5; SystemParametersInfo(SPI_SETNONCLIENTMETRICS, SizeOf(ncm), @ncm, SPIF_SENDCHANGE); |
Wenn das auch nicht geht, dann kann ich nur Sagen, dass da wohl ein eigenes Control her muss
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!