Read post #4.

In this case, the popup menus are created dynamically via APIs. Since they have to be created, might as well just set the correct caption during creation.

For forms, many times, popup menus have the Visible property set to False. If so, they are created on the fly by VB when displayed. Therefore, to change the menu captions in that scenario, you'd have to subclass to catch the menu before it is displayed or make it visible just before displaying it. I have no issues with what you posted, but as I replied ... doesn't really fit this scenario