Witam,
Mam taki problem. Ogólnie rozumiem zasady dziedziczenia aczkolwiek napotkałem zagwozdkę z którą nie miałem nigdy do czynienia i mam do was pytanie. Otóż, tworzę sobie obiekt TMyTabSheet dziedziczący z TTabSheet (standardowa zakładka kontrolki TPageControl). TTabSheet posiada właściwość ImageIndex. I teraz, podczas zmiany tej właściwości, chciałbym aby oprócz dotychczasowej czynności zmiany indexu, robiło mi coś jeszcze, np. zmieniało ImageIndex w powiązanym menu. No i pojawia się problem. W większości takich przypadków robiłem tak że przeładowywałem procedure SetXXX i po inherited dodawałem swój kod. Jednak tutaj tak się nie da, bo SetImageIndex jest w sekcji private. Próbowałem kombinować w taki sposób, że w klasie TMyTabSheet zdublowałem/przysłoniłem property:
property ImageIndex: Integer read FImageIndex write SetImageIndex
... co wymagało również dodania FImageIndex do sekcji private. No i w mojej SetImageIndex dodałem swój kod. Tylko że jak teraz debuguję, to najpierw wołane jest pierwotne SetImageIndex a potem moje, z tym że to moje jakby przysłania to pierwotne i w konsekwencji imageindex na zakładce się nie zmienia. Jedyne co mi przychodzi do głowy to dodanie osobnej właściwości ImageIndexGroup i w SetImageIndexGroup zrobić zmianę zarówno ImageIndex zakładki jak i w menu, ale może mam niedobór wiedzy na temat właściwości obiektów i da się to prościej zrobić.
Pozdrawiam