C1TextBoxでは、IMEにより入力された漢字かな交じりテキストから、その漢字の読みを取得する機能が用意されています。これにより、氏名や住所が入力された際に自動的にふりがなを取得・表示する処理を容易に実装できます。
ふりがなの取得に関連するメンバーは以下の通りです。
| メンバー名 | 説明 |
|---|---|
| ImeGetKanaMode | このメソッドは、コントロールに関連付けられたかなモードを示すKanaMode値を返します。 |
| ImeSetKanaMode | このメソッドは、コントロールに対して指定されたかなモードを関連付けます。 |
| ImeGetReadingStringOutput | このメソッドは、コントロールに関連付けられているReadingStringOutputオブジェクトを返します。 |
| ImeSetReadingStringOutput | このメソッドは、コントロールに対してReadingStringOutputオブジェクトを関連付けます。 |
| ImeResultString | このイベントは、IMEによる入力処理で有効な結果文字列がある場合に発生します。 |
ふりがなのモードを指定する場合は、ImeSetKanaModeメソッドを使用し、KanaMode列挙値のいずれかの値を指定します。KanaMode列挙体には以下の値が定義されています。
| 値 | 説明 |
|---|---|
| Hiragana | 読みをひらがなで取得します。 |
| Katakana | 読みを全角カタカナで取得します。 |
| KatakanaHalf | 読みを半角カタカナで取得します。 |
また、ImeSetReadingStringOutputメソッドを使用して、読みを出力するコントロールと出力モードを指定します。出力モードは、ReadingStringOutputMode列挙体のいずれかの値を指定します。ReadingStringOutputMode列挙体には以下の値が定義されています。
| 値 | 説明 |
|---|---|
| Append | 元のテキストの最後に新しいテキストを追加します。 |
| Intelligence | ふりがな出力を自動的に維持します。 |
| Replace | ターゲットコントロールのすべてのテキストを置き換えます。 |
以下に、C1TextBox1に入力された漢字かな交じりテキストの読みを、C1TextBox2に対してひらがなで出力し、同時にImeResultStringイベントを使用して読み仮名を取得するサンプルコードを紹介します。
| Visual Basic |
コードのコピー
|
|---|---|
|
Private Sub Form1_Load(sender As Object, e As EventArgs) Private Sub C1TextBox1_ImeResultString(sender As Object, e As |
|
| C# |
コードのコピー
|
|---|---|
|
private void Form1_Load(object sender, EventArgs e) void c1TextBox1_ImeResultString(object sender, |
|
1つ目のテキストコントロールに対して漢字かな交じりテキストを入力すると、IME上で入力文字列が確定するたび、確定文字列の読みが2つ目のコントロールに追記されます。また、ImeResultStringイベントが発生し、イベント引数にて確定文字列の読みが取得できます。
