AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mit Mausrad in TScrollBox scrollen

Ein Thema von Tim-94 · begonnen am 18. Sep 2012 · letzter Beitrag vom 27. Dez 2017
Antwort Antwort
Seite 2 von 2     12
elmar.faber

Registriert seit: 10. Sep 2007
Ort: Neustadt (Hessen)
37 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#11

AW: Mit Mausrad in TScrollBox scrollen

  Alt 31. Okt 2014, 07:19
... if PtInRect((Sender as TScrollBox), MousePos) then

Irgendwie sieht das nicht so aus, als könnte das funktionieren...
Elmar Faber
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Mit Mausrad in TScrollBox scrollen

  Alt 31. Okt 2014, 08:27
Es tut aber. Was theoretisch eventuell nicht geht, klappt in der Praxis fehlerfrei.

Aber sag bitte, was sieht daran falsch aus?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#13

AW: Mit Mausrad in TScrollBox scrollen

  Alt 31. Okt 2014, 12:40
... if PtInRect((Sender as TScrollBox), MousePos) then Weil function PtInRect(const lprc: TRect; pt: TPoint): BOOL; stdcall; als ersten Parameter ein TRect verlangt...
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Mit Mausrad in TScrollBox scrollen

  Alt 31. Okt 2014, 12:46
Eiverdibsch!! Da ist mir doch tatsächlich etwas verloren gegangen:
  if PtInRect((Sender as TScrollBox).BoundsRect, MousePos) then Danke für den Hinweis!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
518 Beiträge
 
#15

AW: Mit Mausrad in TScrollBox scrollen

  Alt 27. Dez 2017, 13:30
Viele Jahre später ....

ich habe gerade das gleiche Problem.

Ich habe eine TScrollbox und darauf ein TImage welches über die ganze Scrollbox gezogen wird.
Ich habe darin ein Bild was genauso breit wie die Scrollbox, aber höher als die Scrollbox ist.

Ich würde nun ebenfalls gern mit der Maus darin hoch/runter scrollen. Aber ich bekomme das Event nicht abgefangen.
Weder auf der Form, noch in der Scrollbox.

Leider hat TImage kein Event dazu.

Edit : Ok hab es hinbekommen, aber anders als hier beschrieben

Code:
procedure Tmyapp.FormMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var vsb    : TControlScrollbar;
    lp,mp  : TPoint;
    mr     : TRect;
begin
    GetCursorPos(mp);
    lp := Scrollbox1.ClientToScreen(Point(0,0));
    mr := Rect(lp,Point(lp.x+scrollbox1.width,lp.y+scrollbox1.Height));
    if PtInRect(mr, mp) then begin
        vsb            := Scrollbox1.VertScrollBar;
        vsb.Position   := vsb.Position + vsb.Increment;
        Handled        := true;
        log.lines.add('Scrollrad Form down');
    end;
end;
boundrect hat gar nicht funktioniert, weil boundrect mir 0,0 angab weil die Scrollbox auf einem Panel saß. D.h ich musste erst einmal die Punkte auf dem Screen ermitteln. und onMouseWheel reagiert bei mir gar nicht.

Sorry fürs pushen

Guten Rutsch allen.

Geändert von stalkingwolf (27. Dez 2017 um 14:37 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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