Einzelnen Beitrag anzeigen

Tempel

Registriert seit: 15. Jul 2004
6 Beiträge
 
#10

Re: Bildausschnitt mit CopyRect() in Zwischenablage

  Alt 17. Dez 2004, 15:02
Zitat von Pr0g:
Das wäre mir neu. Welche Delphiversion nutzt du?
5.0 Enterprise.

Aber du hast recht, die Scrollbox kommt von der Form, nicht vom TImage. Ich sollte vielleicht so sät nicht auf Beiträge antworten, sondern bis zum nächsten Tag warten

Dies hier macht auf jeden Fall Scrollbars ohne Scrollbox und das Mausrad funktioniert ohne zusätzliche Programmierung.

Man nehme ein Form mit einem TImage oben links in der Ecke, größe ist egal. Property Stretch := True;

Code:
procedure TBild.SetPictureName(NewPictureName:String);
begin
   fPictureName := NewPictureName;
   Image1.Picture.LoadFromFile(NewPictureName);
   fScale := 0;
   Rescale;
end;

procedure TBild.Rescale;
begin
   if (fScale = 1) or (fScale = -1) then fScale := 0;
   if fScale = 0 then begin
      Caption := fPicturename + ' (1:1)';
      Image1.Width := Image1.Picture.Width;
      Image1.Height := Image1.Picture.Height;
   end else if fScale > 0 then begin
      Caption := fPicturename + ' ('+IntToStr(fScale)+':1)';
      Image1.Width := Image1.Picture.Width div fScale;
      Image1.Height := Image1.Picture.Height div fScale;
   end else begin
      Caption := fPicturename + ' (1:'+IntToStr(-fScale)+')';
      Image1.Width := Image1.Picture.Width * -fScale;
      Image1.Height := Image1.Picture.Height * -fScale;
   end;
   Self.ClientWidth := Image1.Width;
   Self.ClientHeight := Image1.Height;
end;
Thomas
  Mit Zitat antworten Zitat