Applies To:
  • CitectSCADA 6.xx
  • CitectHMI 6.xx

WinNewAt() always display pop up Page/SuperGenie on the left screen of the multi-monitor.

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.