TFlowPanel i przewijanie zawartości

0

Czy jest możliwe tak ustawić TFlowPanel by przy nadmiarze elementów wewnątrz włączał się scroll pionowy lub poziomy ?

3

Jeśli chodzi o funkcjonalność komponentu to nie – ten nie daje takiej możliwości. Teoretycznie da się to zreprodukować, osadzając FlowPanel wewnątrz ScrollBox i ustawiając odpowiednio właściwości panelu:

How can I scroll the content of a TFlowPanel?

Create your TFlowPanel inside a TScrollBox, with the following properties:

  • Align : alLeft
  • AutoSize : TRUE
  • AutoWrap : FALSE

That should get you the behaviour you are after I think.

Spróbuj w ten sposób. Tyle że nie wiem jakich komponentów używasz, jaki ma być ich docelowy układ wewnątrz panelu i czy zależy Ci na przewijaniu w obu osiach, czy np. tylko w pionie. Napisz coś więcej.


Edit: po dłuższym zastanowieniu wnioskuję, że o dwóch osiach można zapomnieć, bo IMO nie da się tego zrobić tylko odpowiednio ustawiając właściwości. Można ustawić AutoSize i bazować na wartości właściwości AutoWrap – jeśli jest odznaczona to będziesz mógł przewijać na boki (kontrolki będą w jednym rzędzie), a jeśli zaznaczona to w górę i dół (komponenty będą w jednej kolumnie).

0

To konstrukcja z tego wątku
Dwa wiersze Caption na TPanel?

0

@titako: i co, mam teraz iść do innego wątku i szukać takich informacji? Wybacz, ale to Twój problem i Tobie powinno zależeć na tym, aby dostarczyć wszystkie potrzebne informacje do rozwiązania problemu. Ja nie mam czasu na to.

0

Ależ nie bądź taki @furious programming :).
Oczywiście dziękuje za podpowiedź - patent z ScrollBox'em jest wystarczający - druga metoda się nie sprawdza - cała apka (formatka) jest AutoSize itd. więc efekt takiej zmiany (AutoWrap) powoduje chaos.

0

Ten komponent też jest nieźle niedorobiony – przy włączonych AutoSize i AutoWrap ustawia szerokość komponentu równo na 0 (po prawej). Jeśli AutoSize jest wyłączony to wygląda dobrze:

TFlowShit.png

Gdzie nie spojrzeć tam fuszera. :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1