Status, Composition, and Candidates Windows

The status, composition, and candidates windows form the user interface for the IME. The status window indicates that the IME is open and provides the user with the means to set the conversion modes. The composition window appears when the user enters text and, depending on the conversion mode, either displays the text as entered or displays converted text. The candidates window appears in conjunction with the composition window. It contains a list of "candidates" (alternative characters) for the selected character or characters in the composition window. The user can scroll through the candidates list and select the desired characters, then return to the composition window. The user can compose the desired text in this way until the composition string is finalized and the window is closed.

The IME sends the composed characters to the IME-aware application in the form of WM_IME_CHAR or WM_IME_COMPOSITION/GCS_RESULT messages. If the application does not process these messages, the DefWindowProc function translates them into one or more WM_CHAR messages.

By default, the operating system automatically creates and manages status, composition, and candidates windows for text input requirements. For many applications, this default processing is sufficient. These applications rely entirely on the operating system for IME support and are said to be "IME-unaware" because they are unaware of the many tasks the operating system carries out to manage the IME windows.

An IME-aware application, on the other hand, participates in the creation and management of IME windows. Such applications control the operation, position, and appearance of the default windows by sending messages to these windows and by intercepting and processing messages from the windows. In some cases, applications create their own IME windows and provide complete processing for their custom status, composition, and candidates windows.

About Input Method Manager