Ich hab das bis jetzt so gelöst:
Delphi-Quellcode:
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
//Bild zoomen
if ssCtrl in Shift then begin
Image1.Left := Round(Image1.Left - (((Image1.Width * 1.1) - Image1.Width) / 2));
Image1.Top := Round(Image1.Top - (((Image1.Height * 1.1) - Image1.Height) / 2));
Image1.Width := Round(Image1.Width * 1.1);
Image1.Height := Round(Image1.Height * 1.1);
end;
end;
procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
//Bild verkleinern
if ssCtrl in Shift then begin
Image1.Left := Round(Image1.Left + (((Image1.Width * 1.1) - Image1.Width) / 2));
Image1.Top := Round(Image1.Top + (((Image1.Height * 1.1) - Image1.Height) / 2));
Image1.Width := Round(Image1.Width / 1.1);
Image1.Height := Round(Image1.Height / 1.1);
end;
end;
Sagen wir so, der Code funktioniert einigermaßen. Er hat zwar noch Bugs, z.B. sollte man einbauen, dass das Bild beim herauszoomen in die Mitte geschoben wird. Und was ist eigentlich der Unterschied zwischen
div und /