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