Shell and User Interface Overview (Windows CE 5.0)
Shell and User Interface functionality in Microsoft® Windows® CE 5.0 includes the following three modules:
GWES is the interface between the user, the applications, and the operating system (OS). The GWES module (Gwes.exe) consists of the Microsoft Win32® application programming interface (API), user interface (UI), and graphics device interface (GDI) libraries.
GWES supports all the resources, controls, and window controls that make up the Windows CE UI, which enables users to control applications. GWES also includes support for user input and for GDI, which includes support for fonts, text drawing, line and shape drawing, palettes, and printing.
Resources are objects that are used within an application but are defined outside an application. GWES includes support for the following resources:
- Dialogs boxes and message boxes
- Keyboard accelerators
A control is a child window that an application uses in conjunction with another window to perform I/O tasks. Common controls are a set of windows that are supported by the common control library, which is a dynamic-link library (DLL) that is included with Windows CE. GWES includes support for the following common controls:
- Command band
- Command bar
- Date and time picker
- Header control
- Image list
- List view
- Month calendar control
- Pocket PC-style ToolTips
- Progress bar
- Property sheet
- Status bar
- Tab control
- Tree view
- Up-down control
A window control is a predefined child window that allows a user to make selections, carry out commands, and perform I/O tasks. GWES includes support for the following window controls:
- Buttons, including check boxes, push buttons, radio buttons, and group boxes
- Combo boxes
- Edit controls
- List boxes
- Scroll bars
- Static controls
Display-based OS designs include most of the available GWES functionality by default. For more information about GWES support available on all display-based OS designs, see GWES on Windows CE.
The following table shows additional GWES functionality that OS design developers can add to display-based OS designs, beyond the capabilities that are available by default.
|Accessibility Application Development||Provides options that allow persons with disabilities to use computers more easily.|
|Mouse Application Development||Allows users to provide input through a mouse.|
|Obtaining a Printer Device Context and Starting a Print Job||Supports the ability to send printing commands to device drivers.|
|Software-Based Input Panel Application Development||Allows users to provide input through a software-based input panel displayed on a touch screen.|
|Touch Screen (Stylus) Application Development||Allows users to provide input through a stylus and touch screen.|
OS design developers can also customize the UI by creating a skin. The default UI is similar in appearance to the UI in Windows 95. An OS design developer can choose the Windows XP-like Sample Skin Catalog item to provide a UI that is similar in appearance to the UI in Windows XP. An OS design developer can also create a custom skin. For more information about skins and the creation of skins, see Creating a Skin.
OS design developers can also change the behavior of menus. By default, menus contain only one level; that is, menu items do not open submenus. OS design developers can choose the Overlapping Menus Catalog item to provide support for cascading, overlapping menus to enable submenus. OS design developers can also set the SYSGEN_MENU_TAP_UI environment variable to require that the user tap a menu item before the item is activated.
The Shell provides the basic framework for the user interface on an OS design. The shell works to present a consistent look and feel throughout the computing experience and can be used to locate files and folders.
The shell architecture in Windows CE allows OS design developers to implement a wide variety of shells. All the source code for the presentation and user interface aspects of the Windows CE Standard Shell, formerly known as the HPC shell, is available to OS design developers. This allows fully customized shells built for individual OS designs to be completely integrated into the OS. The following table shows shell functionality that OS design developers can add to display-based OS designs.
|Command Processor Shell||Includes an application for a command-line-driven shell that provides console input and output and a limited number of commands. This functionality is also available on headless OS designs.|
|Including the Standard Shell||Provides a shell that is similar to the shell on the Windows-based desktop operating systems. The source code for this shell is available for customization.|
|Windows Thin Client Shell||Provides a Windows Thin Client user interface.|
Beginning with Windows CE .NET 4.2, OEMs can include API compatibility support for the Pocket PC 2002 shell in their OS design. These extensions to the Standard Shell are known as the AYGShell API extensions. AYGShell support means that most Pocket PC 2002-based applications can run on a Windows CE-based device without change - if the processor is the same - or after being recompiled for a different processor.
Send Feedback on this topic to the authors