Einzelnen Beitrag anzeigen

delphitrixer

Registriert seit: 12. Aug 2004
55 Beiträge
 
Delphi 10.3 Rio
 
#18

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht

  Alt 10. Nov 2011, 15:13
Also ich habe jetzt eine funktionierende Lösung mit dem bereits diskutierten Timer implementiert.

Dazu auf dem Event OnHeaderDragging den Timer aktiviert und auf OnHeaderMouseUp wieder deaktiviert. Der Timer hat diesen einfachen Code hinterlegt:

Delphi-Quellcode:
procedure Tfrm_Form.tm_VSTScrollTimer(Sender: TObject);
var
  VSTPos: TPoint;
begin
  inherited;
  VSTPos := PanelEx1.ClientToScreen(Point(VST.left, VST.top));

  if Mouse.CursorPos.X > (VSTPos.X + VST.Width - 25) then
  begin
    VST.OffsetX := VST.OffsetX - 50;
  end;

  if Mouse.CursorPos.X < (VSTPos.X + 25) then
  begin
    VST.OffsetX := VST.OffsetX + 50;
  end;
end;
Klappt wunderbar! Das kann jetzt natürlich noch (wie Mike bereits geschrieben hat) ausgebaut werden, damit schneller und langsamer gescrollt wird, je weiter die Maus an oder über den Rand der VST gezogen wird.

Aber als Lösungsansatz auf jeden schnell und einfach mit wenig Code implementiert.

Danke ConnorMcLeod und Mike Lischke für die Hilfe und nötigen Gedankenanstösse!

Manchmal ist die Lösungs schon so einfach, dass man einfach nicht drauf kommt!
  Mit Zitat antworten Zitat