@abrakadaber - niejasno się wyraziłem, ale chodziło mi dokładnie o to, o czym napisałeś, tyle że użyłem innych (widać niezrozumiałych/złych) słów:
Furious Programming napisał(a)
bo masz zaimplementowaną jedynie podstawę kontrolki bez zbędnych pierdół (czyt. właściwości i zdarzeń)
co odpowiada Twoim słowom:
abrakadaber napisał(a)
Dziedziczenie po TCustomCustom ma sens jedynie wtedy, kiedy chcemy UKRYĆ (a właściwie nie udostępniać) właściwości publiczne klasy TControl
Chodziło mi o to, że udostępnione i widoczne są jedynie podstawowe właściwości i żadnych zdarzeń (dziedzicząc po Custom
ach) - można to zobaczyć w inspektorze obiektów; No i tak jak piszesz - przepisywanie wszystkiego nie ma sensu;
Reszta oczywiście jest, tyle że niewidoczna i można ją dodać, ale ich obsługa jest już zaimplementowana.
Przykładowo mamy komponent zbudowany na podstawie TCheckBox
, który udostępnia wszystkie właściwości i zdarzenia klasy TCheckBox
; Ale jeśli dziedziczymy po TCustomCheckBox
to mamy postawowe właściwości i żadnych zdarzeń; Aby je dodać wystarczy uzupełnić odpowiednią sekcję kl;asy;
Np. dodajemy właściwość Color
:
type
TFooCheckBox = class(TCustomCheckBox)
{...}
published
property Color;
end;
Po kompilacji mamy dostępną właściwość Color
(do modyfikacji np. w inspektorze obiektów); Jej obsługa jest już zaimplementowana, więc po modyfikacji tej właściwości kontrolka przyjmie inny kolor.