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
                        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