type TCEFOSRIMEHandler = class(TObject)
Class used to handle the IME window.
| Protected | FHWND: HWND; |
| Protected | FCompositionRange: TCefRange; |
| Protected | FCursorIndex: cardinal; |
| Protected | FIMERect: TCefRect; |
| Protected | FSystemCaret: boolean; |
| Protected | FInputLanguageID: LANGID; |
| Protected | FCompositionBounds: TCefRectDynArray; |
| Protected | FIsComposing: boolean; |
| Protected | FIMM32DLL: THandle; |
| Protected | function GetPrimaryLangID: word; |
| Protected | function GetSubLangID: word; |
| Protected | function GetInitialized: boolean; |
| Protected | procedure GetCompositionInfo(imc : HIMC; aParam : LPARAM; var composition_text : ustring; var underlines : TCefCompositionUnderlineDynArray; var composition_start : integer); |
| Protected | function GetString(imc : HIMC; aParam : WParam; aType : integer; var aResult : ustring) : boolean; |
| Protected | function IsSelectionAttribute(aAttribute : AnsiChar) : boolean; |
| Protected | procedure GetCompositionSelectionRange(imc : HIMC; var target_start, target_end : cardinal); |
| Protected | procedure GetCompositionUnderlines(imc : HIMC; target_start, target_end : cardinal; var underlines : TCefCompositionUnderlineDynArray); |
| Public | constructor Create(aHWND : HWND); |
| Public | destructor Destroy; override; |
| Public | procedure SetInputLanguage; |
| Public | procedure CreateImeWindow; |
| Public | procedure DestroyImeWindow; |
| Public | procedure CleanupComposition; |
| Public | procedure ResetComposition; |
| Public | function GetResult(aParam : LPARAM; var aResult : ustring) : boolean; |
| Public | function GetComposition(aParam : LPARAM; var composition_text : ustring; var underlines : TCefCompositionUnderlineDynArray; var composition_start : integer) : boolean; |
| Public | procedure EnableIME; |
| Public | procedure DisableIME; |
| Public | procedure CancelIME; |
| Public | procedure UpdateCaretPosition(index : cardinal); |
| Public | procedure ChangeCompositionRange(const selection_range : TCefRange; const character_bounds : TCefRectDynArray); |
| Public | procedure MoveImeWindow; |
| Public | property IsComposing : boolean read FIsComposing; |
| Public | property InputLanguageID : LANGID read FInputLanguageID; |
| Public | property PrimaryLangID : word read GetPrimaryLangID; |
| Public | property SubLangID : word read GetSubLangID; |
| Public | property Initialized : boolean read GetInitialized; |
| Protected | FHWND: HWND; |
|
This item has no description. | |
| Protected | FCompositionRange: TCefRange; |
|
This item has no description. | |
| Protected | FCursorIndex: cardinal; |
|
This item has no description. | |
| Protected | FIMERect: TCefRect; |
|
This item has no description. | |
| Protected | FSystemCaret: boolean; |
|
This item has no description. | |
| Protected | FInputLanguageID: LANGID; |
|
This item has no description. | |
| Protected | FCompositionBounds: TCefRectDynArray; |
|
This item has no description. | |
| Protected | FIsComposing: boolean; |
|
This item has no description. | |
| Protected | FIMM32DLL: THandle; |
|
This item has no description. | |
| Protected | function GetPrimaryLangID: word; |
|
This item has no description. | |
| Protected | function GetSubLangID: word; |
|
This item has no description. | |
| Protected | function GetInitialized: boolean; |
|
This item has no description. | |
| Protected | procedure GetCompositionInfo(imc : HIMC; aParam : LPARAM; var composition_text : ustring; var underlines : TCefCompositionUnderlineDynArray; var composition_start : integer); |
|
This item has no description. | |
| Protected | function GetString(imc : HIMC; aParam : WParam; aType : integer; var aResult : ustring) : boolean; |
|
This item has no description. | |
| Protected | function IsSelectionAttribute(aAttribute : AnsiChar) : boolean; |
|
This item has no description. | |
| Protected | procedure GetCompositionSelectionRange(imc : HIMC; var target_start, target_end : cardinal); |
|
This item has no description. | |
| Protected | procedure GetCompositionUnderlines(imc : HIMC; target_start, target_end : cardinal; var underlines : TCefCompositionUnderlineDynArray); |
|
This item has no description. | |
| Public | constructor Create(aHWND : HWND); |
|
This item has no description. | |
| Public | destructor Destroy; override; |
|
This item has no description. | |
| Public | procedure SetInputLanguage; |
|
Sets InputLanguageID using the name of the active input locale identifier obtained from a GetKeyboardLayoutNameW call.
<see href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getkeyboardlayoutnamew">See the GetKeyboardLayoutNameW article.) | |
| Public | procedure CreateImeWindow; |
|
Calls CreateCaret for some languages in order to creates a new shape for the system caret and assigns ownership of the caret to the specified window.
<see href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createcaret">See the CreateCaret article.) | |
| Public | procedure DestroyImeWindow; |
|
Calls DestroyCaret for some languages in order to destroy the caret's current shape, frees the caret from the window, and removes the caret from the screen.
<see href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-destroycaret">See the DestroyCaret article.) | |
| Public | procedure CleanupComposition; |
|
Cleans up the all resources attached to the given IMM32Manager object, and reset its composition status.
<see href="https://learn.microsoft.com/en-us/windows/win32/api/imm/nf-imm-immnotifyime">See the ImmNotifyIME article.) | |
| Public | procedure ResetComposition; |
|
Reset the composition status. Cancel the ongoing composition if it exists. | |
| Public | function GetResult(aParam : LPARAM; var aResult : ustring) : boolean; |
|
Retrieve a composition result of the ongoing composition if it exists. | |
| Public | function GetComposition(aParam : LPARAM; var composition_text : ustring; var underlines : TCefCompositionUnderlineDynArray; var composition_start : integer) : boolean; |
|
Retrieve the current composition status of the ongoing composition. Includes composition text, underline information and selection range in the composition text. IMM32 does not support char selection. | |
| Public | procedure EnableIME; |
|
Enable the IME attached to the given window, i.e. allows user-input events to be dispatched to the IME. In Chromium, this function is used when a renderer process moves its input focus to another edit control, or a renrerer process moves the position of the focused edit control. | |
| Public | procedure DisableIME; |
|
Disable the IME attached to the given window, i.e. prohibits any user-input events from being dispatched to the IME. In Chromium, this function is used when a renreder process sets its input focus to a password input. | |
| Public | procedure CancelIME; |
|
Cancels an ongoing composition of the IME. | |
| Public | procedure UpdateCaretPosition(index : cardinal); |
|
Updates the IME caret position of the given window. | |
| Public | procedure ChangeCompositionRange(const selection_range : TCefRange; const character_bounds : TCefRectDynArray); |
|
Updates the composition range. |selected_range| is the range of characters that have been selected. |character_bounds| is the bounds of each character in view device coordinates. | |
| Public | procedure MoveImeWindow; |
|
Updates the position of the IME windows. | |
| Public | property IsComposing : boolean read FIsComposing; |
|
Retrieves whether or not there is an ongoing composition. | |
| Public | property InputLanguageID : LANGID read FInputLanguageID; |
|
The current input Language ID retrieved from Windows used for processing language-specific operations in IME. | |
| Public | property PrimaryLangID : word read GetPrimaryLangID; |
|
Returns the primary language ID based on the InputLanguageID value. | |
| Public | property SubLangID : word read GetSubLangID; |
|
Returns the sublanguage ID based on the InputLanguageID value. | |
| Public | property Initialized : boolean read GetInitialized; |
|
Resturns True if the library was loaded successfully. | |