AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie Smooth-Scrollen in TJvPreViewControl? Jedi
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Smooth-Scrollen in TJvPreViewControl? Jedi

Ein Thema von BrunoT · begonnen am 2. Mai 2006 · letzter Beitrag vom 11. Mai 2006
Antwort Antwort
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#1

Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 2. Mai 2006, 15:29
Hi DPler,

Problem: in TJvPreViewControl (Jedi-Jvcl) will ich mit der Wheel-Maus langsam scrollen.
ich habe folgendes versucht:

Delphi-Quellcode:
procedure TFStBerechng.JvPreViewMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with (Sender as TJvPreViewControl) do
    VertScrollBar.Position:= VertScrollBar.Position+10;
end;

procedure TFStBerechng.JvPreViewMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with (Sender as TJvPreViewControl)Do
    VertScrollBar.Position:= VertScrollBar.Position-10;
end;
aber irgendwie ignoriert TJvPreViewControl diese Anweisungen und springt seitenweise.
Kennt jemand eine Lösung?

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#2

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 10:15
Hi,

weiss da keiner eine Lösung?

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 10:25
Setz doch mal Handled auf True, damit die VCL auch weiss das du die Message selber behandelt hast.
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#4

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 10:37
Hallo Robert,

Handled auf TRUE und jetzt tut sich erst mal gar nichts mehr(Wheelmausmäßig). Habe ich da noch nen Fehler drin?

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 11:15
Das bedeutet zumindest das die Zuweisung in den Methoden nichts bewirkt.
Das Scrollen kam also wie vermutet von der Standardbehandlung.
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#6

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 11:33
Hi Robert,

ich habe mal den Jedi-Quelltext angeschaut:
Delphi-Quellcode:
function TJvCustomPreviewControl.DoMouseWheel(Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint): Boolean;
var
  Msg: TWMScroll;
  SI: TScrollInfo;
begin
  Result := inherited DoMouseWheel(Shift, WheelDelta, MousePos);
  if not Result then
  begin
    FillChar(SI, SizeOf(TScrollInfo), 0);
    SI.cbSize := SizeOf(TScrollInfo);
    SI.fMask := SIF_ALL;
    GetScrollInfo(Handle, SB_VERT, SI);
    if SI.nMax = 0 then
      Exit;
    Msg.Msg := WM_VSCROLL;
    if WheelDelta > 0 then
      Msg.ScrollCode := SB_PAGEUP //Hier
    else
      Msg.ScrollCode := SB_PAGEDOWN;
    Msg.Pos := FScrollPos.Y;
    Msg.Result := 0;
    WMVScroll(Msg);
    Refresh;
    TDeactiveHintThread.Create(500, HintWindow);
    HintWindow := nil;
    Result := True;
  end;
end;
eventuell kann man da was tun?

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 11:58
Das duerfte die Stelle sein an der man Aenderungen vornimmt.
Mal SB_LINEUP bzw SB_LINEDOWN ausprobieren.
Am besten nach der Aenderung die JVCL per Installer neu uebersetzen.
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#8

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 12:02
Kann man das auch ohne direkte Änderung an Jedi tun?

(ich meine über Vererbung) sonst müsste ich diese Änderung bei jeder Jedi-Version nachvollziehen.

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 9. Mai 2006, 12:43
Probier doch erst mal aus ob das so funktioniert.
Ansonsten mal in englisch in unserer Newsgroup news://forums.talkto.net:119/jedi.vcl nachfragen.
Bitte die urspruengliche Frage fragen (ob man das im MouseWheelDown hinkriegen kann) und ob man die Komponente fuer ein SmoothScroll erweitern kann (deshalb die Bitte das SB_LINEDOWN zu probieren).
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#10

Re: Wie Smooth-Scrollen in TJvPreViewControl? Jedi

  Alt 11. Mai 2006, 08:28
Hi Robert,

ich werde das mir mal nächste Woche anschauen, im Augenblick ist das nicht lebenswichtig und nächste Woche habe ich dazu Zeit. Rückmeldung folgt.

mfg
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  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 18:44 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