0
Update: Based on Vinicius's comment and the updated screen shot.
An application must have changed the default alignment of menu.
This setting can't be configured via Control Panel, yet Windows provides API to change it. And I've written a simple application which allows changing the alignment of menus, and shows the current alignment.
Run MenuAlignment.exe, it will display the current status. Click Yes to change the alignment to the reverse setting:
And after changing the alignment, it displays confirmation:
In the case on the screen shot, there's simply not enough space to display the menu to the right, and Windows displays the menu with left alignment then. Move your window farther to the left or right, and your menus will display normally.
It also happens in one monitor configuration too: if the menu can't be displayed with left-alignment because it would fall out of screen, the it will be right-positioned.
Windows will not split menus to span both monitors, it will position the popup menu so that it's fully displayed on one of the monitors. The reasoning for that is that monitors may be not side-by-side.
There's a system setting which controls the default menu alignment, it's not exposed through the UI yet it's available to applications.
hummm... that's not the case. I cropped the image. I'll update the question with another screenshot. – Vinicius Rocha – 2013-01-18T21:33:43.947
@Vinicius I updated my answer. – Alexey Ivanov – 2013-01-23T06:00:54.203