"Wędrujący" panel

0

Witam!

Mam taki frustrujący problemik. Na formie kilka paneli. Trzy główne: prawy align RIGHT, dolny align BOTTOM a trzeci align CLIENT. Na tym trzecim (CLIENT) znow kilka paneli - wszystkie align top (takie paski jeden pod drugim).

I teraz w zależności od pewnego warunku w programie jeden z nich (np. 2 od góry) jest widoczny lub nie. Problem w tym, że za każdym razem gdy daję żeby był niewidoczny a później znów widoczny (Visible) to on "wędruje" piętro niżej. I za którymś razem jest na samym dole :( I tak zostaje do końca programu w tym miejscu. Hmm jak to rozwiązać? Czy panel pamięta swoją pozycję na formie?

0

Powinien pamiętać, ale możesz zastosować prostą czynność:

Zakładamy, że wszystkie panele mają np.: alTop, i są ułożone tak:
Panel1
Panel2
Panel3

W momencie kiedy chowasz Panel2 sytuacja jest następująca:

Panel1
Panel3

Aby teraz Panel2 znów był na swoim miejscu zrób:

Panel2.Visible := True;
Panel3.Align   := alNone;
Panel3.Align   := alTop;
0

Albo jak pokazujesz panel, to najpierw schowaj wsystkie, a potem pokazuj je w odpowiedniej kolejności. Powinny ustawić się tak jak należy.

0

Zamiast robić Visible := false zrób Height :=0
wtedy panele nie będą zmieniać koleności.

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