Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Hallo!
Ist euch etwas bekannt ob es irgendwo eine Breadcrumb-Komponente für den VirtualTreeview gibt? Wer mit dem Begriff nichts anfangen kann, siehe hier. Grüße Cody |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
rkSmartPath evtl.? Ich hab allerdings nicht in den Source geschaut und weiß daher nicht, wie man das mit dem VST verbindet.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Leider nein. Kannte ich zwar nicht, ist aber rein Dateisystem-basiert. Da will ich aber nicht hin, sonst könnte ich ja auch die ShellBrowser Components von JAM einsetzen :-)
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Naja, immerhin könnte man die Darstellung abkupfern ;). Eine ähnliche Komponente, die nicht ans Dateisystem gebunden ist, ist mir auch nicht bekannt.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Grundsätzlich sollte das aber nicht schwer zu implementieren sein, da man dank der Baumstruktur einfach rekursiv zur Wurzel navigieren kann.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Ach ja: DevEx hat natürlich auch was - TdxBreadcrumbEdit.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Das hier dürfte für dich interessant sein
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 1)
Die von Roy Klever basieren alle auf PIDLs und mithin auf der Windows Shell. Ich habe derweil ein wenig gebastelt und das ist dabei heraus gekommen (siehe Anhang). Ist noch nicht perfekt (vorallem die Platzierung der Dropdowns etc.) aber ich hab in 5 Minuten Feierabend ;-)
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 2)
So... Verbesserte Version im Anhang. Handling entspricht jetzt weitestgehend dem vom Windows-Explorer. Mit einer Ausnahme und dazu folgende Frage:
Wenn man im Windows-Explorer einen längeren Pfad geöffnet hat und dann in der Breadcrumb-Leiste auf einen kleinen Dropdown-Pfeil klickt, dann öffnet sich das Dropdown-Menü. So weit noch mit meinem Ansatz identisch. Der Unterschied ist: Im Windows-Explorer werden anscheinend MouseMove-Ereignisse weiterhin an die Breadcrumb-Leiste weitergegeben, bei mir nicht. Im Ergebnis kann man bei geöffnetem Dropdown im Explorer in der Breadcrumb hin und her "mausen" und der Focus wechselt mit der Mausposition mit. Ich verwende für meine Dropdown-Menüs ein simples TPopupMenu. Wenn sich das öffnet, scheint es sich Modal über das Programmfenster zu legen und fängt alle MouseMove, -Enter und -Leave-Ereignisse ab. Dadurch verliert die Breadcrumb-Leiste den Focus und reagiert nicht mehr interaktiv, wenn ein Dropdown geöffnet ist. Auch scheint der Windows-Explorer kein "richtiges" Popup-Menü dafür zu verwenden, denn er kann in so einem Menü am rechten Rand Scrollleisten einblenden wenn sie zu lang sind. Bei Delphi-Menüs habe ich sowas noch nie gesehen. Meine Breadcrumb ist übrigens als Komponente konstruiert. Ich werde das dann wahrscheinlich unter der MPL veröffentlichen wenn Interesse besteht und die gröbsten Bugs beseitigt sind.. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Alter Schwede, jetzt schon nicht übel :thumb:
Wird das auch mit anderen (größeren) Schriftgrößen zurechtkommen oder bestehen da keine Pläne? |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Wenn das Brot zu lang/breit wird, für's Fenster, dann links genügend Buttons weglassen und stattdessen und ein kurzer "Pfeil/Doppelpfeil nach links", auf das Popup der obersten Ebene. :stupid:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Erst einmal die Basics richtig machen, dann kommen die Luxus-Features. Variable Textgröße ist jetzt schon realisiert, nur das kleine Dreieck beim Dropdown-Button passt sich noch nicht der Schriftgröße an. Wobei ich das nicht unbedingt als Bug ansehen würde.
Das Hauptproblem ist wie gesagt, dass das PopupMenu verhindert dass man die Leiste interaktiv bedienen kann. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Übersehn. :oops:
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
Ich bin jetzt in Sachen UxTheme nicht so bewandert... Kann man Listeneinträge darüber im MenuItem-Stil malen lassen? |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Benutz doch als Dropdown Komponente einfach auch einen VirtualTreeView. Da hast du alle Freiheiten bzgl. Paint auf dem Canvas, Schriftgrößenänderungen, die Höhe der Items kann manipuliert werden, und und und. Und was die Icons vor den Einträgen angeht, das sollte das Einfachste der Welt sein. :-D
Und beim VST solltest du auch keine Probleme bzgl. Fokus usw. bekommen. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Das ist nicht das Problem. Das Dropdown soll ja auf jedem System unabhängig von der Windows-Version aussehen wie ein Menü. Also muss man es mit der Theming-Engine zeichnen.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 1)
So, neue Demo zum Wochenende. Neue Funktionen:
Ist natürlich x64-fähig, darum diesmal auch eine 64-Bit-Demo mit dabei. Dropdowns sind noch als PopupMenu realisiert. Für eine OwnerDraw-Liste fehlt mir einfach die Zeit. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 2)
Neue Demo, neues Glück 8-)
Neue Features:
Ich würde das Teil jetzt von den Features her mal als fast fertig betrachten (von dem "PopupMenu-Interaktivitäts-Bug" mal abgesehen). Daher wären mir ein paar Kommentare dazu recht. Den Source will ich jetzt noch etwas eleganter gestalten und dann wird das Ding unter der MPL/LGPL duallizensiert, genau wie der VirtualTreeView. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
http://www.delphipraxis.net/182276-d...-projekte.html :stupid:
Aber eigentlich wäre das eine neue Delphi-Feature auch dafür geeignet. :roll: |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Er meint wohl GetIT
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
Kleines OT: Ich bin irgendwie kein Freund (mehr) von Online-Code-Repositories für meine Kleinst-Projekte. DelphiWorks hatte ich damals auf SourceForge. Das mag heute keiner mehr so richtig und alle rümpfen die Nase. Also hab ich mal angefangen den Kram zu Google Code umzuziehen. Was passiert? Der Gockel macht den Laden zu. Unterm Strich macht die Pflege von Repos für solche Kleinstprojekte mehr Arbeit als es nützt, weil man am Ende doch wieder nur alleine dran arbeitet. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
stimmt nur zum Teil, Bei Google Code und SF konnte man nur Issues erstellen. Bei GitHub hat man auf einfache Art die Möglichkeit, Projekte zu forken und Änderungen vorzuschlagen ohne gleich groß Berechtigungen abzufassen. Hab ich schon mehrfach genutzt. Bei den anderen beiden Plattformen habe ich es mir immer verkniffen.
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
So, Sourcen sind mal fix hier im guten alten Portal abgelegt. Viel Spaß :-D
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zu deinem Programm: Also ich finde, dass ist richtig gut geworden. Sieht ja dem Windows Explorer von den Funktionen wirklich ziemlich ähnlich. Das Design der Buttons in der Bar gefällt mir persönlich zwar nicht ganz so gut, aber das ist ja jedem selbst überlassen, wie er das interpretiert. Mir ist noch ein kleiner Bug aufgefallen. Und zwar wenn du den Doppelpfeil anzeigst, der die Root Ebene abbildet wenn der Platz nicht mehr ausreicht, um alle Ebenen in der Leiste anzuzeigen, dann verdeckt dieser Button noch das EditFeld wenn man sich den Pfad anzeigen lassen möchte. Ich denke, dass das nur eine einfache Visible Eigenschaft ist, die du noch setzen müsstest. (Siehe Bild im Anhang) Über den Source Code freue ich mich auch. Den kann man bestimmt in dem ein oder anderen Programm einbauen. :thumb: |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Liste der Anhänge anzeigen (Anzahl: 1)
So, heute nochmal eine neue Demo. Ich habe das Problem mit dem "interaktiven Mausen" bei aufgeklapptem Dropdown gelöst. Das Dropdown ist jetzt ein eigenes Window und die Liste ist als OwnerDraw-VirtualTree realisiert. Dadurch bekomme ich auch die vertikalen Scrollbars.
Einziger Bug der mir im Moment bekannt ist: Das Dropdown-Form ist ein FormStyle=fsStayOnTop. Wenn man jetzt außerhalb des Dropdown-Forms klickt (egal ob in der eigenen Anwendung oder einem anderen Programm), dann sollte das Dropdown sich selbst schließen. Tuts aber derzeit noch nicht, weil es aus unerfindlichen Gründen kein OnDeactivate-Ereignis auslöst. In dem Zusammenhang gefragt: Gibt es eine Windows-Message an ein Fenster die ihm mitteilt, dass seine Hostanwendung den Focus verloren hat? |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Hi Codehunter,
ich habe dir in deinem Projekt-Thread ja noch einige Hinweise gegeben die du eventuell noch ausbessern könntest. Aber an dieser Stelle hätte ich jetzt noch eine Frage zu der Komponente: Kannst du die Komponente so erweitern, dass man einen Standardbutton vor die eigentlichen Node Buttons setzen kann? Als Beispiel möchte ich folgendes machen: Startseite --> Node 1 --> Node 2 --> Node 3 Startseite ist aber ein eigener definierter Button der nicht aus dem Tree kommt und der immer davor stehen soll. Es wäre in dem Fall dann auch super, wenn du ein OnButtonClick() Event einbauen könntest damit man beim Klick auf einen Button noch etwas ausführen kann. In meinem Fall will ich beim Klick auf "Startseite" eine spezielle PageControl Seite anzeigen. Und kann man auch den Editmode deiner Komponente irgendwo abschalten? In meinem Fall sollte es nicht möglich sein, dass ein User hier etwas eingibt. |
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
|
AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?
Zitat:
danke für die Antwort. Ich bin aber gerade dabei, mir (wie du auch erwähnt hast) eine eigene Komponente zu schreiben die so etwas kann. Wird zwar noch ein wenig dauern bis die fertig ist, aber ich bleibe dran. Mal schauen wie weit ich komme. Nichts desto trotz: Super Komponente! :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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