Thema: Delphi PaintBox und Scrollrad?

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: PaintBox und Scrollrad?

  Alt 14. Dez 2004, 16:05
Zitat von moelski:
Ich nutze in meiner Applikation eine Paintbox für xy Grafiken. Nun würde ich gerne die Zoomfunktion auf das Scrollrad legen. Aber wie zum Teufel kriege ich das Event zur Paintbox hin? Sowas gibbet da leider nicht
Ich nutze übrigens D6 SP2 falls das wichtig sein sollte.

Hier im Forum gab es auch schon mal einen Vorschalg, aber da werde ich nicht wirklich schlau raus ...
Du setzt einen Trackbar auf dein Formular, mit dem du den Zoomfaktor einstellen kannst.
Im OnChange-Event des Trackbars fragst du die Position ab und änderst deinen Zoomfaktor.
Der Trackbar reagiert übrigens schon direkt auf das Scrollrad, wenn der Trackbar fokusiert ist.
Für die anderen Fälle (Trackbar nicht im focus) schreibst du einen MessageHandler:

Delphi-Quellcode:
  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    Edit1: TEdit;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure WMzoom(var msg:TMessage); message WM_MOUSEWHEEL;

  end;
....
procedure TForm1.WMzoom(var msg: TMessage);
var
   dist : Integer;
begin
   dist := Smallint(msg.WParamHi);
   trackbar1.Position := trackbar1.Position-(dist div WHEEL_DELTA);
end;
Andreas
  Mit Zitat antworten Zitat