AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollen im TreeView

Ein Thema von oki · begonnen am 5. Dez 2003 · letzter Beitrag vom 5. Dez 2003
Antwort Antwort
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Scrollen im TreeView

  Alt 5. Dez 2003, 11:00
Hi Leute,

folgendes Problem:

Ich habe ein TreeView mit Node-Einträgen. Wenn ich ein Node in einen anderen Knoten verschieben möchte kann es sein, das der Zielknoten im nicht sichtbaren Bereich den TreeView liegt. Nun habe ich mir gedacht, dass wenn ich einen eintrag verschieben will und ich an den oberen und unteren Rand des TreeView stoße diesen automatisch scrollen lasse. Der Code lautet wie folgt:

Delphi-Quellcode:
procedure TKonfForm.TreeView1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
var D:TTreeNode;
Begin
  if StopDrag then begin TreeView1.EndDrag(False); Accept:=False; exit; end;
  d:=TreeView1.GetNodeAt(x,y);
  try
    Accept:=(Source is TTreeView) and (d<>Nil) and (d.Level>0) and
          (PNodeData(d.Data).Typ = Flotte) and
          (PNodeData(TreeView1.Selected.Data).Typ = Fahrzeug);
  except
    Accept := False;
  end;
  CanDragAccept:=Accept;
  // wenn oben dann hochscrollen
  IF (y < 2) then begin
    TreeView1.ScrollBy(0, 2);
    TreeView1.Realign;
  end;
  // unten auch scrollen
  IF (y > TreeView1.ClientHeight - 2) then begin
    TreeView1.ScrollBy(0, -2);
    TreeView1.Realign;
  end;
end;
Der Punkt ist, das so nichts passiert! Wo steckt mein Problem?

Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Scrollen im TreeView

  Alt 5. Dez 2003, 11:25
das ganze ins onmousemove machen sollte vielleicht gehen. Aber ich glaub das ganze hatten wir hier schonmal. Versuchs mal mit der Suche
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Scrollen im TreeView

  Alt 5. Dez 2003, 11:46
Ich such und probier mal. Melde mich.

Dank oki
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Scrollen im TreeView

  Alt 5. Dez 2003, 12:15
Hi,
Suche hats gebracht! Habe in einem anderen Beitrag folgende Lösung gefunden:
Delphi-Quellcode:
  SendMessage(TreeView1.Handle,
    WM_VSCROLL,
    SB_LINEDOWN,
    0);
Damit klappt es.

Scrollby bewegt wohl nur den sichtbaren Teil und löst kein Scroll-Ereignis aus. Es ist sinnvoll danach ein Invalidate aufzurufen (ich hatte Verzerrungen in der Anzeige).

Gruß oki
  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 19:33 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