WindowFromDC liefert dann 0 zurück wenn Menu Animationen eingeschaltet sind.. das ist fakt.
Meine Lösung dazu ist bei OwnerDraw Menus diese Temporär auszuschalten wenn sie aktiv sind.
Um genau zu sein wird für die Menüanimationen ein temporärer
DC verwendet, was genau dazu führt, dass nicht immer ein gültiger
DC zurückgeliefert wird.
Da jetzt im Quelltext die Funktionen nicht zu finden sind, hast du aber ja offenbar eine bessere Lösung gefunden. Funktionieren tut es jedenfalls auch bei mir unter Windows 10.
Auch wenn mir die schlichter und eleganter aussehenden Standard-Menüs von Windows besser gefallen als dieser bunte in den 90er Jahren im Internet verbreitete "GIF-Stil", Sorry