Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualTreeView - Wer hat die Weiterentwicklung übernommen (https://www.delphipraxis.net/126856-virtualtreeview-wer-hat-die-weiterentwicklung-uebernommen.html)

anse 13. Apr 2009 01:37

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Oh. und noch was: Doc-O-Matic (Screenshot-Link, s.o.) scheint diese Multi-Checkboxen über den ImageIndex und den Tree.Onclick-Events gelöst zu haben - kein EditLink drin soweit man das sehen kann.

toms 13. Apr 2009 11:02

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von anse
Oh... das hier
Delphi-Quellcode:
VT.Header.Options := VT.Header.Options + [hoShowImages];
VT.Header.Columns[x].Checkbox := True;
... zeigt eine Checkbox in der Header-Zeile an. Also hat VT wohl leider keinen Multi-Checkbox-Support für Nodes. Seltsam außerdem daß die Header-Checkbox nur bei hoShowImages angezeigt wird.

Vielleicht hilft dir dieser Beitrag weiter:
http://support.soft-gems.net/forums/...pic.php?t=1526

Roaster 13. Apr 2009 13:23

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von anse
Multi-Checkboxen sind also gemeint, so wie hier zu sehen: http://www.soft-gems.net/images/stor...-shots/DOM.png

Hm, mich würde mal interessieren, wie Doc-o-matic mehrere Icons in der ersten Spalte "Topic / Symbol" je Knoten darstellen kann. Ist das mit VirtualTreeView möglich?

anse 13. Apr 2009 14:14

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Nein, mehrere Icons kannst du nur mit einem Hack da reinbasteln, am besten wohl in OnAfterCellPaint:

Delphi-Quellcode:
procedure TMainForm.MyVTAfterCellPaint(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  CellRect: TRect);
begin
  // Das 123. Icon aus ImageListMain in die linke obere Ecke der Zelle malen
  ImageListMain.Draw(TargetCanvas, CellRect.Left, CellRect.Top, 123);
end;
Wobei du den Platz für die Images dann nicht mit dem normalen Text überlappen mußt, dafür kannst du Header.Columns[x].Spacing auf einen höheren Wert einstellen (ungetestet).

anse 13. Apr 2009 20:33

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von toms
Vielleicht hilft dir dieser Beitrag weiter:
http://support.soft-gems.net/forums/...pic.php?t=1526

Jau, genau das richtige. Die Idee ist zwar etwas "hackisch", da die Checkboxen dann nicht mehr vom System gezeichnet werden, aber letztenendes ganz ok.

anse 26. Mai 2009 01:15

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Ich würde ja zu gern einen Issue Tracker für VirtualTree einrichten und das SVN in das gleiche System umziehen, wenn ich dürfte ... Darf ich?

Die 4.8.6 (r181) zeigt sich bei mir ungewöhnlich buggy:
  • Selektieren mehrerer Nodes per Maus-Rechteck-Ziehen nicht mehr möglich. Das Selektier-Rechteck wird gemalt, aber die Nodes werden einfach nicht selektiert. Selbst wenn ich den Code mit der neuen Eigenschaft .SelectionLocked aus VirtualTress.pas lösche und neu baue klappt das nicht mehr.
  • Sofern BottomSpace > 0 is, zeigt das Vista Theming einen einfarbigen, weißen Hintergrund mit schwarzem Rand statt "Bonbon-Hellblau"

anse 13. Jun 2009 21:11

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Mike hat jetzt einen offiziellen Bugtracker bei Google Code aufgesetzt: http://code.google.com/p/virtual-treeview/

Neue Anforderungen sowie Bugs können dort also ab sofort an zentraler Stelle gesammelt werden. Und jeder mit einem Google Account kann mitmachen, für Änderungen voten, mit diskutieren etc.

Na dann, auf die nächsten 10 Jahre VirtualTree Entwicklung... ups das stimmt ja sogar ziemlich genau, seit Juli 99 gibt es VT, siehe Mikes History.

Assertor 21. Jun 2009 20:14

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Hi,

kleiner Bugreport: wenn man per OnGetImageIndex ein Image zuweist und das NodeAlignment <> naProportional setzt, wird das Image überhaupt nicht gezeichnet.

Ziel war es, ein Image top-aligned zu zeichnen (z.B. in einer MultiLine Zeile per ivsMultiline).

Ich finde auch kein geeignetes Event mehr, die Position des Image manuell anzupassen. Als Abhilfe funktioniert nur das manuelle Zeichnen per OnAfterCellPaint oder eine Ableitung der Klasse mit override für PaintImage().

Delphi-Quellcode:
procedure TVirtualTreeEx.PaintImage(var PaintInfo: TVTPaintInfo;
  ImageInfoIndex: TVTImageInfoIndex; DoOverlay: Boolean);
begin
  // draw node images top aligned (instead of centered, use same margin as text)
  if Multiline[PaintInfo.Node] then
    PaintInfo.ImageInfo[ImageInfoIndex].YPos := TextMargin;
  inherited;
end;
Gruß Assertor

anse 21. Jun 2009 20:29

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Solche bugreports solltest du am besten im Bugtracker melden.

Assertor 21. Jun 2009 20:59

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Hi anse,

Zitat:

Zitat von anse
Solche bugreports solltest du am besten im Bugtracker melden.

Erledigt. Funktioniert richtig gut mit Google Code, irgendwie fehlte mir der offizielle Hinweis, daß Mikes SVN nun nicht mehr das aktuellste ist, sondern alle Updates da vereint werden.

Gruß Assertor

kaaeton 22. Aug 2009 13:55

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von anse
Nein, mehrere Icons kannst du nur mit einem Hack da reinbasteln, ...

Stimmt nicht! Kannst es sehr wohl machen , indem du zusätzlich zu der ImageList für die Eigenschaft "Images" in der Eigenschaft "StateImages" eine weitere ImageList angibst!

mfg Wolfgang

PS: Ich schreibe gerade an einem ausführlicheren Tutorial für diese Komponente. Falls ihr Interesse habt, sind Ideen, Fragen, Korrekturen u.ä. sehr willkommen.
Für weitere Infos bitte Mail.

anse 22. Aug 2009 16:28

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Gute Idee, vor allem die etwas versteckteren, nicht so offensichtlichen Features würden mich interessieren, da ich da immer mal wieder rumraten muß.

Wie wär's wenn du das im VT Wiki schreibst, damit man das schnell findet? Oder wenigstens von da aus verlinkst.

s.h.a.r.k 6. Sep 2009 17:54

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
passt zwar nicht so ganz hier rein, aber ich würde die komponente gerne in delphi 2010 verwenden, aber bisher leider ohne erfolg :gruebel:

toms 6. Sep 2009 18:22

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von s.h.a.r.k
passt zwar nicht so ganz hier rein, aber ich würde die komponente gerne in delphi 2010 verwenden, aber bisher leider ohne erfolg :gruebel:

Nach einer Aktualisierung von Compilers.inc funktioniert die D2009 Version ohne Probleme.

kaaeton 6. Sep 2009 22:06

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Hallo an alle, die es interessiert ... ;-)
Zitat:

Zitat von anse
Gute Idee, vor allem die etwas versteckteren, nicht so offensichtlichen Features würden mich interessieren, da ich da immer mal wieder rumraten muß.

Wie wär's wenn du das im VT Wiki schreibst, damit man das schnell findet? Oder wenigstens von da aus verlinkst.

Ja, gerne. Bin mit Timo (Tegi) bereits in Kontakt deswegen. Habe leider noch keine Möglichkeit, dort was reinzustellen und auch nicht auf "Download".

So ein Tutorial sauber und vollständig zu schreiben ist ein ziemlicher Aufwand.
ABER: Ich habe mein "Virtual TreeView - Tutorial Teil 1" so weit fertig. Bräuchte jetzt nur noch sog. Korrekturleser.
Da ich bislang keine andere Möglichkeit habe, gebe ich es hier mal bekannt und stelle ich es auf meiner Homepage zur Verfügung:
Technische Seiten und dann weiter "Tutorial - ..."
(Verwendet bitte diesen Direkt-Link, da die "offizielle" Seite [www.karahoan.at.tf] zeitweise Probleme macht. Sollte endlich mal auf eine eigene Domain umsteigen.)

Wer Ideen hat, wo es am sinnvollsten "anzubieten" ist, der möge sich melden !!!
Konstruktive Kritik, Ideen und Korrekturen sind auch sehr willkommen.
Bitte achtet immer darauf, dass es für diejenigen geschrieben ist, die sich mit dieser Komponente noch nie beschäftigt haben. Dh. ich möchte möglichst ALLES sagen, und NICHT das weglassen, was 'weiß doch eh ein jeder' viele so leicht machen.

Teil 2 gehe ich jetzt an...
Ideen & Beiträge willkommen...

LG Wolfgang

mirage228 6. Sep 2009 23:00

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Ich habe eine Anmerkung zu der von Dir vorgeschlagenen Lösch-Methode:
Delphi-Quellcode:
  VST.BeginUpdate;
  VST.Clear;
  VST.EndUpdate;
So isoliert ist das absolut unnötig, denn Clear ruft intern sowieso Begin- und EndUpdate auf. Nützlich wird das nur, wenn man nach dem Clear sofort wieder neue Daten reinfüllt -- aber für ein alleiniges Löschen ist das meiner Ansicht nach "doppelt gemoppelt"...

Viele Grüße

kaaeton 7. Sep 2009 00:12

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von mirage228
Ich habe eine Anmerkung zu der von Dir vorgeschlagenen Lösch-Methode:
Delphi-Quellcode:
  VST.BeginUpdate;
  VST.Clear;
  VST.EndUpdate;
So isoliert ist das absolut unnötig, denn Clear ruft intern sowieso Begin- und EndUpdate auf. Nützlich wird das nur, wenn man nach dem Clear sofort wieder neue Daten reinfüllt -- aber für ein alleiniges Löschen ist das meiner Ansicht nach "doppelt gemoppelt"...

Danke, werde ich ändern bzw. darauf hinweisen.
War übrigens nicht von mir, sondern aus den vorliegenden Dokus raus.

LG Wolfgang

s.h.a.r.k 7. Sep 2009 12:02

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von toms
Zitat:

Zitat von s.h.a.r.k
passt zwar nicht so ganz hier rein, aber ich würde die komponente gerne in delphi 2010 verwenden, aber bisher leider ohne erfolg :gruebel:

Nach einer Aktualisierung von Compilers.inc funktioniert die D2009 Version ohne Probleme.

Danke! Da bin ich heute Nacht auch noch drauf gestoßen, aber um 3 hatte ich keine Lust mehr, diese zu ändern. Nachdem du das aber so fix gemacht hast ist das echt klasse 8) ein großes Lob an dich!

kaaeton 6. Okt 2009 11:18

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Hallo !
Zitat:

Zitat von s.h.a.r.k
Zitat:

Zitat von toms
Nach einer Aktualisierung von Compilers.inc funktioniert die D2009 Version ohne Probleme.


Was hast du denn geändert?
Könntest du bitte das mal da reinstellen (die Compiler.inc)?
Danke & LG
Wolfgang

generic 6. Okt 2009 14:01

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Die letzten 50 Beiträge haben ja gar nichts mehr mit dem Titel gemeinsam.

"VirtualTreeView - Wer hat die Weiterentwicklung übernommen?"

kaaeton 6. Okt 2009 14:08

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von generic
Die letzten 50 Beiträge haben ja gar nichts mehr mit dem Titel gemeinsam.

"VirtualTreeView - Wer hat die Weiterentwicklung übernommen?"

Damit hast du in gewisser Weise Recht.
Dann sollten wir doch ein neues, sinnvolleres Thema eröffnen, wo ich dann auch meine Tutorials bereitstellen kann und für Fragen aller Art in Bezug zum VST bereitstehe.
LG Wolfgang

kaaeton 9. Okt 2009 15:04

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm
 
Zitat:

Zitat von kaaeton
... Dann sollten wir doch ein neues, sinnvolleres Thema eröffnen, wo ich dann auch meine Tutorials bereitstellen kann und für Fragen aller Art in Bezug zum VST bereitstehe.

Das hab ich hiermit getan: http://www.delphipraxis.net/internal...t.php?t=166359

Und es sind auch alle eingeladen, ihre Beiträge zu Anfragen zu leisten, wenn es ihnen darnach gelüstet :-D
Viel Erfolg
Wolfgang


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr.
Seite 3 von 3     123   

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 by Thomas Breitkreuz