Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zum makierten objekt Scrollen in einer scorllbox

  Alt 18. Jan 2007, 20:29
Soviel zu Lazarus. Dann musst Du es manuell programmieren, hier mal ein Beispiel:
Delphi-Quellcode:
procedure TForm1.ScrollInView(Sender : TScrollBox; Fach: TFach);
var
  Rect: TRect;
begin
  if Fach = nil then Exit;
  with Sender do
  begin
     Rect := Classes.Rect(trunc(Fach.x/Fach.scale),trunc(Fach.y/Fach.scale),trunc(Fach.Right/Fach.scale), trunc(Fach.Bottom/fach.scale));
     Dec(Rect.Left, HorzScrollBar.Margin);
     Inc(Rect.Right, HorzScrollBar.Margin);
     Dec(Rect.Top, VertScrollBar.Margin);
     Inc(Rect.Bottom, VertScrollBar.Margin);

     Rect.Left := Rect.Left + PaintBox1.ClientOrigin.X - ClientOrigin.x;
     Rect.Top := Rect.Top + PaintBox1.ClientOrigin.Y - ClientOrigin.Y;

     if Rect.Left < 0 then
       with HorzScrollBar do Position := Position + Rect.Left
     else if Rect.Right > ClientWidth then
     begin
       if Rect.Right - Rect.Left > ClientWidth then
         Rect.Right := Rect.Left + ClientWidth;
       with HorzScrollBar do Position := Position + Rect.Right - ClientWidth;
     end;
     if Rect.Top < 0 then
       with VertScrollBar do Position := Position + Rect.Top
     else if Rect.Bottom > ClientHeight then
     begin
       if Rect.Bottom - Rect.Top > ClientHeight then
         Rect.Bottom := Rect.Top + ClientHeight;
       with VertScrollBar do Position := Position + Rect.Bottom - ClientHeight;
     end;
  end;
end;
Das Fach-Objekt musst Du dann eben durch Deine gewünschte Objektklasse ersetzen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat