Einzelnen Beitrag anzeigen

hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#8

Re: Mausradbewegung erkennen

  Alt 14. Aug 2009, 14:54
Ich hab bei mir ein TImage und löse das Ganz so:

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;
Ja der Zoom ist ein wenig verbuggt, aber die Funktion funktioniert auf jeden Fall. Es wird gezoomt wenn Form1 den Focus hat und ich STRG + Mausrad drücke.
  Mit Zitat antworten Zitat