Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild Zoomen (https://www.delphipraxis.net/91397-bild-zoomen.html)

Shiva 4. Mai 2007 10:45


Bild Zoomen
 
Hallo zusammen!

Ich möchte wie oben erwähnt ein Bild darstellen, in welches man hinein und rauszoomen kann. Dazu bin ich wie folgt vorgegangen.
Ich habe, da die Bilder meist größer sind als die verfügbare Fläche (besonders wenn man hineinzoomt, werden sie schnell größer), eine TScrollBox genommen in welche ich ein TImage plaziert habe, in welches das entsprechende Bild angezeigt wird.

Nun wollte ich das OnMouseWheelDown und OnMouseWheelUp - Event nutzten um den die Zoomfunktion umzusetzten. Das Problem ist nur, dass der Eventhandler, dieses Event nicht erkennt und dementsprechend nicht ausführt. Hat jemand eine Idee woran dass u.u. liegen kann? Ich bin da nämlich gerade etwas ratlos.

so far so long
mfg Shiva

P.S: ich arbeite z.zt. mit delphi 6 enterprise

bitsetter 5. Mai 2007 12:44

Re: Bild Zoomen
 
Hallo,

du könntest ja das Event der Scrollbox benutzen. Das Problem ist nur, dass durch das Image in der Scrollbox diese keinen Focus bekommt und dadurch das Event nicht ausgelöst wird. Durch setzen des Focuses könnte man das abändern.
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Scrollbox1.SetFocus;
end;

Dirkmswt 5. Mai 2007 13:54

Re: Bild Zoomen
 
Wieso machst du das nicht mit einem comobox.onchange ereignis?
Ist doch viel bequemer und der User sieht wie groß der Zoomfaktor ist :thumb:

Shiva 7. Mai 2007 16:47

Re: Bild Zoomen
 
vielen Danke für eure Antworten :)

@ Dirkmswt ... dass weiss ich nicht ... wahrscheinlich weil ich ein delphi newb bin ;) ... der vorschlag gefällt mir aber sehr gut ;)

@bitsetter wieso schaut dein Event-Kopf so aus? meiner ist etwas kürzer:
Code:
procedure TMainForm.ImageOrginalClick(Sender: TObject);
ich frage mich nämlich wie ich auf einen LinksClick reagieren kann, wenn ich den "Button: TMouseButton", Parameter nicht habe. Woran liegt das? Ich hab ein TImage verwendet ... liegt dass daran?!

mfg Shiva

bitsetter 7. Mai 2007 17:00

Re: Bild Zoomen
 
Hi,

du hast wohl das onClick Ereignis und ich das onMouseDown Event genommen. Der Code ist auch von einem TImage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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