Zmiana rozmiaru komponentu z TSplitter

0

Hej,
Piszę w trosce o swoje zdrowie, bo zaraz mnie coś strzeli! 😛

Albo problem jest trywialny, albo tak po prostu jest... o co chodzi? O zmianę rozmiaru komponentów przy użyciu TSplittera...
Mam okno w którym mam kilka komponentów. Kolejno od lewej.

  1. TSplitView (ma za zadanie wysunąć się z lewej części okna lub schować) - pozycjonowany do lewej (align=alLeft)
  2. TSplitter (ma za zadanie zmieniać rozmiar pozostałych dwu elementów) - pozycjonowany do lewej (align=alLeft)
  3. TPanel (ma wyświetlać dane) - wypełnia obszar (align=alClient)

Element TSplitView (1) ma ustawioną szerokość 200px (NIE może być ona MNIEJSZA - ale może być większa - poprzez przeciągnięcie TSpittera (2) w prawo (a tym samym zmniejszenie rozmiaru panelu (3). ALE, jesli przesuwam TSplitter (2) w lewo to element tSplitView (1) ma mniej niż 200px - JAK temu zapobiec? Co gorsza, cały ten element znika!

Próbowałem wielu sposobów, ale nic nie działa (to jest blokady rozmiaru w OnCanResize/OnResize). Coś muszę robić źle.
Proszę o podpowiedź...

Wideo prezentujące problem: link

Ps: oby to nie był przypadek trywialny, bo wtedy trzeba iść na długi spacer :)

3

Ustaw dla TSplitView Constraints -> MinWidth na 200 dodatkowo możesz dla TSplitter ustawić MinSize na 200.

0

OK, wydaje się, że działa.
Dziękuję @kAzek

Ustawienie TSplitView Constraints -> MinWidth nie wystarczyło.
Trzeba to zrobić dynamicznie w zależności od tego czy element jest schowany czy nie (czyli albo 0 albo nasze 200). Również, musiałem dostosować właściwość CompactWidth (u mnie 10, bo przy zmianie Constraints przyjmowała wartość 200)...

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