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..