Multiple Screens Application Development

Windows Mobile 6.5
A version of this page is also available for

Windows Embedded CE provides support for connecting multiple screens to a Windows Embedded CE–based device. You can use these multiple screens as one large combined screen. When you use multiple screens as one large screen, you create more screen space for applications. This extra space is useful whenever you need to maximize your on-screen workspace and is especially useful in publishing, Web development, or video editing.

When you connect multiple screens to a Windows Embedded CE–based device, objects can travel seamlessly between screens. In other words, you can drag a window or shortcut from one screen to another and you can increase the size of a window so that the window covers more than one screen.

All of the screens must form one contiguous region. This region can cover up to four screens, which must be placed adjacent to one another and arranged in a straight line from left to right. For more information about the placement and characteristics of screens in a multiple screen system, see The Virtual Screen.

When a user moves or resizes a window, some part of the title bar of the window remains visible so the user can change the window by using the mouse or stylus. The user cannot move a cursor beyond the area covered by the screens, so the cursor is always visible.

The support for multiple screens does not affect the performance of applications when those applications run in a single screen environment. In other words, when an application runs on a system with a single screen, no additional overhead is present in the high-performance graphics operations code. On a multiple screen system, however, performance is slightly affected if an application runs only on one of the graphics devices. Also, performance can be greatly affected if an application spans multiple screens, especially for graphics-intensive operations.

Full screen is an option provided by the OS through Microsoft DirectX®. This option allows a user to toggle an application into a special state where the application can access VGA graphics hardware directly. Full screen is a key option for games and other graphics-focused applications that require high performance. Also, developers often use full screen for text editing applications because this option enables very fast text scrolling.

In a multiple-screen environment, only one graphics device can be VGA compatible because of a limitation of computer hardware that requires that only one device respond to any hardware address. Because the VGA hardware compatibility standard requires specific hardware addresses, only one VGA graphics device can be present in a machine and only this device can physically respond to VGA addresses. Therefore, applications that operate in full screen mode only run on the particular device that supports VGA hardware compatibility.

The following table shows the functions that Windows Embedded CE provides for working with multiple screens.

Function Description


Enumerates screens that intersect a region formed by the intersection of a specified clipping rectangle and the visible region of a specified device context.


Retrieves information about a screen.


An application-defined callback function that is called by the EnumDisplayMonitors function.


Retrieves a handle to the screen that contains a specified point.


Retrieves a handle to the screen that has the largest area of intersection with a specified rectangle.


Retrieves a handle to the screen that has the largest area of intersection with the bounding rectangle of a specified window.

Community Additions