Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Gibt es eine Breadcrumb-Komponente für VirtualTreeView?

  Alt 10. Apr 2015, 08:57
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..
Miniaturansicht angehängter Grafiken
image1.png  
Angehängte Dateien
Dateityp: zip VirtualBreadcrumbDemo.zip (745,9 KB, 24x aufgerufen)
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (10. Apr 2015 um 09:00 Uhr)
  Mit Zitat antworten Zitat