2010-10-01 17 views
14

Chcę używać TGridPanel Delphi 2009, ale nie rozumiem, jak używać go poprawnie.Delphi Jak korzystać z TGridPanel

Na przykład chcę mieć GridPanel z 4 kolumnami, które powinny mieć każdy 25% procent szerokości GripPanels.

Więc umieściłem GripPanel na formularzu i dodałem 4 ColumnItems. Podaję elementy kolumny SizeStyle ssPercent, a teraz próbuję nadać każdemu ColummItem wartość 25 (ober inspektora obiektów). Jednak z pewnych przyczyn inspektor obiektów nie akceptuje wartości 25. Jest automatycznie zamieniany na "23, 8095238095238". Czy ktoś może mi wyjaśnić w skrócie, jak używać tych komponentów? Dzięki!

Odpowiedz

13

Po ustawieniu Value kolumny z SizeStylessPercent, komponent rozprowadza nową sumę wszystkich kolumn w stylu ssPercent za dostępny całkowity procent. Na przykład, jeśli masz 4 kolumny o wartości 25%, a ustawiłeś jeden na 50%, teraz masz w sumie 125%. Składnik oblicza "Wartość ponownie, aby całkowita objętość została rozdzielona proporcjonalnie, tj. 50% -> 40% (100 * 50/125).

Aby ustawić wartość więcej niż jednej kolumny naraz, w czasie wykonywania należy objąć kod wartościami GridPanel.ColumnCollection.BeginUpdate i GridPanel.ColumnCollection.EndUpdate.

W czasie projektowania edytuj bezpośrednio .dfm. Naciśnij "Alt + F12" podczas przeglądania formularza w edytorze projektu, znajdź swój GridPanel w edytorze tekstu, edytuj wartość kolumn tam, a następnie naciśnij ponownie "Alt + F12", aby powrócić do widoku projektu.

+0

Dzięki, to działa! Uwaga: Po upuszczeniu GridPanel na formularzu i usunięciu wierszy i kolumn w wyznaczonym czasie, te wiersze i kolumny nadal istnieją w środowisku wykonawczym i trzeba je usunąć ręcznie. Trochę dziwne. – flinkiy1

+0

Lub możesz wybrać wszystkie 4 kolumny i wpisać 25 w inspektorze obiektów. – VitaliyG

+0

@Vitaliy - To nie jest łatwiejsze niż wybranie wszystkich 4, a następnie wpisanie 0, co zawiera odpowiedź Uwe. Moja odpowiedź jest raczej pomocna, jeśli nie zamierzasz w równym stopniu rozkładać szerokości. Oczywiście możesz to zrobić, ale w rzeczywistości inne alternatywy są w tym lepsze. –

14

Jeśli chcesz ustawić wszystkie kolumny na tę samą wartość, zaznacz wszystkie kolumny w widoku struktury, a następnie (zakładając, że SizeStyle jest już ustawione na wartość ssPercent), ustaw wartość na . Spowoduje to automatyzm, który spowoduje, że wszystkie kolumny będą równe.