Applies To: |
|
Summary: |
When using multi-monitors and calling
CSV_MM_WinPopup() to open a popup window and then calling
CSV_MM_PageDisplay() from the popup window to change pages on the
main window, the popup window remains open. Also, calling
CSV_MM_WinFree() (or WinFree()) does not close the popup window
either. The only way the popup can be closed is by clicking the 'X'
in the titlebar. |
Solution: |
A preferable way to achieve the
functionality required here is to use CSV_MM_WinNewAt() to open the
popup, rather than CSV_MM_WinPopup. Provided the correct mode is
used, the popup will close automatically once PageDisplay() is
called from a button on the popup (to change the page on the main
window). A suggestion is to use the following modes in
CSV_MM_WinNewAt() to open the popup: 1 - This is important. It opens the popup in 'page child' mode so it will therefore close when new page displayed on parent. ie when PageDisplay() is called from the popup. 16 - Thin borders and no title. 64 - Always on top. This mode is not strictly necessary as 'always on top' is enabled anyway in CSV_MM_WinNewAt(). 256 - Ensures no part of popup window appears off screen. Note that the modes for CSV_MM_WinNewAt() are largely the same as those for the standard WinNewAt() and all are detailed in the Help. One of the additional modes for the CSV_MM version of the function which is potentially of interest is 8192, which centres the popup on the screen. The popup itself then only requires its button(s) to call the PageDisplay() function. That is, as long as mode 1 has been used to open it, the popup window will close upon this Up Command being executed. In the example here, the 'Menu' page will be shown in the window from which the CSV_MM_WinNewAt() function was called and the popup will be closed. |
Keywords: |
Related Links
Attachments