Nach kurzem draufschauen so ziemlich alles. Aber zunächst einmal vielen Dank für deinen Aufwand. Ich werde es mir mal in Ruhe anschauen
// edit
Nach erstem Versuch den Code zu verstehen, mit den Worten eines Stümpers:
Der Thread nutzt auch Screen.ActiveControlChange und "verbiegt" das Event regelmäßig auf TWatchFocus. Sobald das Ergebnis übergeben ist, wird das Event wieder "zurückgebogen". Nun, auf jeden Fall ist es mir gelungen eine Prozedur "RestoreLastFocus" einzubauen und damit meine (aktuelle) Aufgabenstellung zu befriedigen. Die weitergehenden Möglichkeiten der History können später genutzt werden. Bis dahin genügt es mir, das ganze als "Blackbox" zu nutzen.
// edit2
Damit die Liste nicht irgendwann mal überläuft habe ich der
Unit nun noch eine festlegbare Obergrenze der Listengröße spendiert.
omata - noch einmal meinen herzlichen Dank!