AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Problem beim Scrollen mit Code durch Mausrad: gelöst
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Scrollen mit Code durch Mausrad: gelöst

Ein Thema von etom291272 · begonnen am 21. Feb 2005 · letzter Beitrag vom 22. Feb 2005
Antwort Antwort
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#1

Re: Problem beim Scrollen mit Code durch Mausrad

  Alt 22. Feb 2005, 20:36
für alle interessierte meine Lösung dieses Problems

der untere code erlaubt es mit dem Mousewheel innerhalb des richtigen Bereiches vertikal zu scrollen und mit der linken und rechten Maustaste ein Mousewhell für das horizontale scrollen zu simulieren. Die scrollbalken verhalten sich in beiden Richtungen jetzt richtig

Achtung in der Scrollbox Property Autoscroll auf True in die beiden Scrollbars in der visible property auch auf true stellen sonst geht gar nichts.

Delphi-Quellcode:
//------------------------------------------------------------------------------

procedure TFmDokViewer.ImageCtrlVorschauMouseMove(Sender: TObject; //scrollbox focus setzen
  Shift: TShiftState; X, Y: Integer);
var a:array[0..255] of char;

begin
  if not ScrollReUnten.Focused then
  begin
    getwindowtext(GetActiveWindow, a, 256);
    if a = BezBrowserFenster then ScrollReUnten.SetFocus;
  end;
end;


//------------------------------------------------------------------------------

procedure TFmDokViewer.ScrollReUntenMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  ScrollReUnten.VertScrollBar.Position:=ScrollReUnten.VertScrollBar.Position+10;
end;

procedure TFmDokViewer.ScrollReUntenMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  ScrollReUnten.VertScrollBar.Position:=ScrollReUnten.VertScrollBar.Position-10;
end;

procedure TFmDokViewer.ImageCtrlVorschauMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  LetzteMausTaste:=Button;
  TimHorScroll.Enabled:=True;
end;

procedure TFmDokViewer.TimHorScrollTimer(Sender: TObject);
begin
  if LetzteMausTaste=mbLeft then ScrollReUnten.HorzScrollBar.Position:=ScrollReUnten.HorzScrollBar.Position-10;
  if LetzteMausTaste=mbRight then ScrollReUnten.HorzScrollBar.Position:=ScrollReUnten.HorzScrollBar.Position+10;
end;

procedure TFmDokViewer.ImageCtrlVorschauMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TimHorScroll.Enabled:=False;
  LetzteMausTaste:=Unassigned;
end;


vielleicht erspart das jemandem stundenlanges suchen
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz