Software-Based Input Panel Application Development
Windows CE–based devices that do not have a keyboard require an input method (IM) to simulate keyboard input. For this purpose, Windows CE implements a software-based input panel architecture that functions through a touch screen. This software-based input panel architecture is an IM that enables your application to accommodate input in multiple forms.
The Windows CE IM requires two parts: the software-based input panel subsystem and the IMs. The primary difference between Windows CE IMs and usual keyboard input is that an additional level of interpretation is necessary in Windows CE to convert non-keyboard input into a keyboard event. This conversion is handled by the software-based input panel subsystem in the OS, which also manages software input methods.
The IM can display the software-based input panel window in a specific state by using the IIMCallback::SetImInfo method. This method also changes the icon appearing on the Input Panel button. To adjust to user-initiated changes in the software-based input panel window, applications can query the SIPINFO structure for data on the window size, state, and visible client area of the software-based input panel.
The software-based input panel creates the IM through the IInputMethod interface. After the IM is created, the IM receives user input and passes this data to the software-based input panel through the IIMCallback interface. After the software-based input panel receives data from the IM, the software-based input panel passes the data to the Graphics, Windowing, and Events Subsystem (GWES) module. Usually, this data is a keyboard event. GWES passes the message to your application through the standard delivery system for keyboard events. The following illustration shows how an IM, a software-based input panel, GWES, and an application communicate.
If the software-based input panel is altered, the OS sends out a WM_SETTINGCHANGE message to all of the active applications. The application can modify the software-based input panel and the IM through the SipGetInfo and SipSetInfo functions.
Note To use software-based input panel technology, your target device must include the Coresip.lib file. This component enables any application to initialize an IM. Call the SipStatus function to be sure that Coresip.lib is present before you implement IMs.
In this Section
Send Feedback on this topic to the authors