Hallo Frühlingsrolle und alle, 
hier eine Lösung die schneller geht und unsichtbar machen erübrigt vor allem, wenn sie In OnShow verwendet wird:
		                    
            
                        Delphi-Quelltext                    
           	 															1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
  				 | 									function TDatEdit.FormHeight( I : Integer ): Integer; begin   if I > 0 then while GetWindowLong(Handle, GWL_STYLE) and WS_HSCROLL <> 0 do Width := Width + I            else while GetWindowLong(Handle, GWL_STYLE) and WS_HSCROLL  = 0 do Width := Width + I;   if I <> 1 then FormHeight( -(I div 2) ); end;
  function TDatEdit.FormWidth ( I : Integer ): Integer; begin   if I > 0 then while GetWindowLong(Handle, GWL_STYLE) and WS_VSCROLL <> 0 do Height := Height + I            else while GetWindowLong(Handle, GWL_STYLE) and WS_VSCROLL  = 0 do Height := Height + I;   if I <> 1 then FormWidth( -(I div 2) ); end;					 				 | 			
		
	  
Die Routinen werden rekursiv durchlaufen und arbeiten nach dem Verfahren der binären Suche. Der Wert "I" muß beim ersten Aufruf also eine X-Fache Verdoppelung von 1 sein z.B. 20.
Die Routine macht 20-ger Sprünge, bis der Rollbalken weg ist, dann 10-er Sprünge, bis err wieder da ist und so weiter. Die Routine terminiert, wenn "I=1" ist.
Hinweis: Anker werfen ist nur oben und links gut, sonst droht eine Endlosschleife!!!
Grüße von der Nordsee
Peter