Hallo marabu,
da ist von meiner Funktion also nur noch das übrig geblieben:
tc.Height := tc.DisplayRect.Top;
Gefällt mir wesentlich besser, obwohl ich nur schwer und im Nachhinein nachvollziehen kann, was der Hilfetext dazu bedeutet:
Zitat:
Die Eigenschaft DisplayRect gibt das Rechteck an, das den Client-Bereich einer Registerkarte umgibt.
property DisplayRect: TRect;
Beschreibung
Mit der Eigenschaft DisplayRect können Sie in Pixel die Koordinaten des Bereichs ermitteln, der die Registerkarten repräsentiert. Dieser Teil des Registers ändert sein Aussehen nicht, wenn andere Register ausgewählt werden.
Verwenden Sie DisplayRect und nicht die Eigenschaft ClientRect, um den Bereich der Registerkarte zu ermitteln, der andere Objekte enthalten kann.
tc.DisplayRect.Top müßte wohl die Oberkante von dem Bereich (= Client-Bereich) sein, der unter den einzelnen Reitern nicht (!!!) angezeigt wird.
In meiner Anwendung ist:
tc.DisplayRect.Top = 28
tc.DisplayRect.Bottom = 24
und tc.DisplayRect.Bottom kann nicht geändert werden. Bottom über Top --> Rechteck mit negativer Höhe
Problem gelöst, Programmcode optimiert!
mfg
eddy