Hallo,
habe mir den Code jetzt nicht richtig angesehen, aber denke
aPopup := CreatePopUpMenu;
erzeugt das Menu,
OLECheck(aContextMenu.QueryContextMenu(aPopup, 0, 1, $7FFF, CMF_EXPLORE or CMF_CANRENAME));
füllt das Menu mit Inhalt und
aCmd := Integer(TrackPopupMenu(aPopup, TPM_LEFTALIGN or TPM_LEFTBUTTON or TPM_RIGHTBUTTON or TPM_RETURNCMD, X, Y, 0, Handle, nil));
zeigt es an.
Eine Suche mit
MSDN und CreatePopUpMenu brachte mich indirekt zu
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx. Dort sind so interessante Funktionen wie GetMenuItemCount und GetMenuString aufgeführt. Ich würde statt TrackPopupMenu mal mit diesen rumspielen. Zu klären wäre noch was TrackPopupMenu genau (ID oder Index) zurückgibt. Aber das sollte in der Doku stehen.
einbeliebigername.