Witam,
używał ktoś komponentu Splitter, i chciałby się podzielić jak zmienić szerokość Panel1 oraz Panel2?
Szukam,próbuję ale nic mi nie wychodzi,a nie wydaje się to zbyt trudne.
Proszę o pomoc.
Witam,
używał ktoś komponentu Splitter, i chciałby się podzielić jak zmienić szerokość Panel1 oraz Panel2?
Szukam,próbuję ale nic mi nie wychodzi,a nie wydaje się to zbyt trudne.
Proszę o pomoc.
W załączniku masz testowy program (sprawdzany pod Delphi7);
Co trzeba zrobić - kładziesz dwa panele na czymś, co ma je grupować (np. formularz, inny panel itd.); Następnie lewemu panelowi ustawiasz Align
na alLeft
, splitterowi także na alLeft
, a prawemu panelowi na alClient
; Następnie ustawiasz wartość właściwość MinSize
- właściwość ta określa minimalną szerokość paneli; Niestety w Delphi7 jest z tym problem, bo o ile prawy panel nie zmniejszy się do szerokości mniejszej niż ustalona, to lewy panel znika, jeśli splitter przesunie się za bardzo;
Rozwiązaniem jest ustawienie obu panelom minimalnej szerokości - czyli we właściwości Constraints
ustawić trzeba wartość pola MinWidth
; Tym bardziej jest to przydatne, jeśli oba panele (lewy i prawy) będą miały różną minimalną szerokość;
To tyle - pozostaje jeszcze ustawić odpowiednią wartość we właściwości ResizeStyle
i gotowe; Ja wybrałem do testowego programu wartość rsUpdate
, która sprawia, że podczas przesuwania splittera, zawartość paneli jest od razu aktualizowana;
Czyli podsumowując - wszystko można wyklikać, bez pisania kodu.
@furious programming Dziękuje!!
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.