Software-based Input Panel Migration (Windows CE 5.0)
This topic contains information about migrating this functionality from earlier versions of Windows CE.
For general migration information, see Migrating from an Earlier Version of Windows CE.
Migrating from Versions Before Windows CE .NET 4.2
As of Windows CE .NET 4.2, the Input Method Selection Sample Application (Sipselect) code has been made into an integral part of the shell, in part to support QVGA target devices, which are likely have input methods (IMs).
This means that the Sipselect Catalog item no longer appears in the Catalog or in the Platform Builder Japanese localization Help topics. Therefore SYSGEN_SIPSELECT is not supported in Windows CE 4.2 and later.This functionality is now included in the standard shell.
The Sipselect code is still available in the Samples folder for developers who want to understand how the IMs interact with the SIP.
The SIP icon is moved and is in the taskbar, which is reserved for the shell. The tray is reserved for applications.
For general migration information, see Migrating from an Earlier Version of Windows CE.
Migrating from Windows CE 2.12
The following table describes input panel architecture issues when you are migrating from Windows CE 2.12 to Windows CE .NET 4.0 and later.
Issue | Description |
---|---|
Input method (IM) change options | The input panel engine uses the AllowChange registry value to control whether an application is allowed to change the input panel window state.
In Windows CE 3.0, the input panel reads the registry value before every use. In Windows CE .NET 4.0 and later, it only reads the registry value when the input panel is initialized. This increases the performance of the input panel engine. To change this behavior after the target device is running, change the registry value and reset the target device. |
Docked input panel | The input panel initializes the type of input panel window used whenever it boots.
If the input panel is set up to be a window that can be dragged or that is always docked, the status cannot be changed without requiring the target device to be reset. This enables you to dictate the style of input panel that is suitable for your target device. |
Input panel window size and movement | When there is a request to move the input panel window or size the input panel window, the input panel informs the IM by calling the IInputMethod::ReceiveSipInfo interface.
The IM can return an error if it cannot or is not willing to accept the requests. This keeps the IM and input panel window synchronized. |
SipSetInfo | The SipSetInfo function no longer supports the ability to resize the input panel window.
If an application calls this function to resize the input panel window, it fails. Because an application does not know the capabilities of the IM, it could not size the window; however, an application can still move the window. The input panel allows IMs released prior to Windows CE 3.0 to continue to use the SipSetInfo call. |
Input panel, shown or hidden | In Windows CE .NET 4.0 and later, only the top-level, visible windows are notified whether the input panel is shown or hidden.
This reduces the time needed to notify only the applications that need to prepare for the change. In Windows CE 3.0, the input panel uses HWND_BROADCAST to broadcast the change to all top-level windows in the system, including disabled or invisible windows that were not owned, overlapped windows, and pop-up windows. In Windows CE 3.0, the input panel would hide its window and then notify the applications. In Windows CE .NET, the input panel has changed the order in which it notifies the applications when the input panel window is hidden. The input panel notifies the applications and then hides the window. This prevents repaint problems caused by applications not resizing before the input panel window hides. |
See Also
Send Feedback on this topic to the authors