There is another bug with multiple monitors. If for example the primary monitor is not the leftmost one you have to deal with negative x-coordinates.
If you start one of the BCG Controlbar examples, move it to the leftmost monitor and rightclick in the toolbar area the context menu will be displayed on the primary monitor.
To avoid this problem you simply have to use GET_X_LPARAM/GET_Y_LPARAM (defined in windowsx.h) instead of LOWORD/HIWORD when extracting coordinate information from an LPARAM value, especially in CMainFrame::OnToolbarContextMenu
. There are further occurences; search for LOWORD to find them all...
More information about the pitfalls when using multiple monitors can be found in MSDN (search for 'Multiple Display Monitors').
Thomas