This problem occurs because the
co-ordinates used in WinNewAt() refers to the pixel position
relative to the whole dual monitor screen. You will need to use the
cicode function CSV_MM_GetOffset() to get the right X co-ordinates
of the screen. Add the X value returned from that cicode function
to the X co-ordinates of the local screen of where you want to
display the popup.
Note that using functions such as DspGetMouse() to retrieve the
co-ordinates of the mouse will retrieve the co-ordinates of the
local window, not of the whole dual monitor screen. Therefore it is
recommended that you use the cicode functions CSV_MM_GetMouseX()
and CSV_MM_GetMouseY() to get the actual co-ordinates of the mouse
relative to the entire multi-monitors. CSV_MM_WinNewAt() is also
recommended rather than using WinNewAt() when using multi-monitors.
Since the CSV cicode functions are defined in the include project,
you will need to have your CSV_Include project included in your
main project. Alternatively, you can copy those cicode functions
from the CSV_Inlcude into a cicode file in your local
project.
|