Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi PaintBox und Scrollrad? (https://www.delphipraxis.net/35955-paintbox-und-scrollrad.html)

moelski 14. Dez 2004 06:36


PaintBox und Scrollrad?
 
Moin !

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 ...

shmia 14. Dez 2004 16:05

Re: PaintBox und Scrollrad?
 
Zitat:

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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz