Składnik wizualny podklasy Delphi i użyj go
Chciałbym podklasować TToolBar z inną klasą o nazwie MyTToolBar, aby móc nadpisać metodę. Jestem nowym użytkownikiem Delphi, ale po dwóch godzinach próbowania różnych metod nie mogę użyć MyTToolBar zamiast TToolBar. Nie mogę być pierwszą osobą, która chciała zastąpić metodę na wizualnej klasie komponentów.
Pochodzę bardziej z tła Xcode, gdzie subklasowanie komponentu wizualnego jest łatwe. Tworzysz podklasę (np. MySubclass) klasy nadrzędnej (np. MySuperClass), a następnie po prostu przypisujesz podklasę w widoku Konstruktora interfejsu Xcode. Podklasa jest automatycznie rozpoznawana i używana.
Dlaczego nie mogę tego zrobić w Delphi RAD Studio XE3?
Po dodaniu TToolBar do TForm, zmiana klasy nie wydaje się możliwa. Próbowałem za pomocą Inspektora obiektów, a także za pomocą pliku kodu źródłowego .PAS. Jeśli zmienię klasę w pliku .PAS, otrzymuję komunikat o błędzie informujący, że pasek narzędzi powinien być typu Vcl.ComCtrls.TToolBar, ale jest zadeklarowany jako MyTToolbar. Popraw deklarację? To wydaje się głupie ...
Och, użyłem też nowego kreatora komponentów, wybierając: Plik -> Nowy -> Inne -> Projekty Delphi -> Pliki Delphi -> Komponent. Wybieram przodka dla MyTToolBar jako TToolBar i mówię mu, aby zarejestrował się na stronie palety „Próbki”. Nie pojawia się jednak na stronie „Próbki”.