Input Panel Architecture Migration Issues

The following table describes input panel architecture issues when migrating from Windows CE 2.12 to Windows CE .NET.

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 read the registry value before every use. In Windows CE .NET, 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 device is running, you must change the registry value and reset the device.
Docked input panel The input panel initializes the type of input panel window that is used whenever it boots. If the input panel is set up either to be a window that can be dragged or to be always docked, the status cannot be changed without requiring that the device be reset. This enables you to dictate the style of input panel that is suitable for your platform.
Input panel window size and movement Whenever there is a request to either 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, 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 any repaint problems caused by applications not resizing before the input panel window hides.

See Also

Software-Based Input Panel | IInputMethod::ReceiveSipInfo | SipSetInfo | Migration from Windows CE 2.12 to Windows CE .NET

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.