Czy jest możliwe tak ustawić TFlowPanel by przy nadmiarze elementów wewnątrz włączał się scroll pionowy lub poziomy ?
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).
To konstrukcja z tego wątku
https://4programmers.net/Forum/Delphi_Pascal/327766-dwa_wiersze_caption_na_tpanel
@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.
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.
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:
Gdzie nie spojrzeć tam fuszera. :/