AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?

Ein Thema von Sherlock · begonnen am 8. Aug 2016 · letzter Beitrag vom 10. Aug 2016
Antwort Antwort
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?

  Alt 8. Aug 2016, 16:01
Ich habe eine FMX.THorzScrollBox auf einem Formular variabler Breite. Sobald das Formular groß genug ist, wird die horizontale ScrollBar dieser ScrollBox automatisch ausgeblendet. Es wird dann auch weniger Höhe benötigt (wie hoch diese Scrollbar im Anzeigefall ist, wäre übrigens noch eine Frage). Im OnResize der ScrollBox würde ich gerne korrekt reagieren, es gibt aber leider nichts äquivalentes zum VCL IsScrollBarVisible. Wer weiß Rat?

Grüßle,
Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?

  Alt 8. Aug 2016, 19:08
Hallo Sherlok,

ja das ist Schade das immer die rudimentärsten Zugriffe fehlen, und man sich etwas drumherumbauen muss was eigentlich schon da sein müsste.
Ich habe das auch einige Workarounds machen müssen, aber ich setze den TImageViewer ein, welcher auf der ScrollBox basiert.

Schau mal ob dir dies hier weiterhilft:

http://docwiki.embarcadero.com/Libra...ewportPosition
http://docwiki.embarcadero.com/Libra...cContentBounds
http://docwiki.embarcadero.com/Libra...PositionChange
http://docwiki.embarcadero.com/Libra...nHScrollChange
http://docwiki.embarcadero.com/Libra...nVScrollChange

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#3

AW: FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?

  Alt 9. Aug 2016, 10:04
Nunja, nach einer guten Mütze voll Schlaf habe ich mir gedacht, daß es ja nun nicht wirklich so schwer ist - zumindest in meinem konkreten Fall. Wenn der Inhalt breiter ist, als die ScrollBox wird naturgemäß der ScrollBar eingeblendet. Also muss ich eine simple Breitenabfrage durchführen. Ich weiss zwar immer noch nicht, wie hoch ein horizontaler TScrollBar ist, aber...im Moment tun 23 Pixel ganz gut. Vermutlich muss ich eine unsichtbare TScrollBar irgendwo einbinden, nur um deren Höhe zu ermitteln.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX Wie finde ich heraus, ob eine Scrollbar sichtbar ist?

  Alt 10. Aug 2016, 07:12
Komt drauf an was du in der ScrollBox machen willst.
Wenn du nur "normale" Komponenten drinhast die nur feste Breite haben mit z.B. Align := Client oder Horizontal, dann sollte das einfach sein.
Aber willst du ach Pannen und Zoomen, am Besten mit den schönen Animationn ?

Ich habe in dem TImageViewer leider ein TImage und noch ein TLayout als Overlay für Zeichenelemente,
was sich mit Zoom und Pan beliebig positionieren kann.
Da fängt es dann an lustig zu werden, wenn alle Positionen und Skalierungen passen sollen.

Der Trick ist dabei das man auf das integrierte TImage zugreifen kann, man kann das als ChildControl zurückbekommen.
Und mein TLayout lege ich dann einfach darüber auf den gleichen Parent.

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz