掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フリガナの自動入力について (ID:25518)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
OnChangeだと速度的に遅いのですが、サンプルとして参考にしてください。 こんな感じで取得できます。 usesにimmを追加してください。 procedure TForm1.Edit1Change(Sender: TObject); var i: integer; imc: HIMC; kl: HKL; // キーボードレイアウト Dst: PCandidateList; sz: integer; // サイズ tmppchar: PChar; begin Edit1.SetFocus; ListBox1.Clear; imc := ImmGetContext(Handle); kl := GetKeyboardLayout(0); sz := ImmGetConversionList(kl, imc, PChar(Edit1.Text), nil, 0, GCL_REVERSECONVERSION); GetMem(Dst, sz); ImmGetConversionList(kl, imc, PChar(Edit1.Text), Dst, sz, GCL_REVERSECONVERSION); for i := 0 to Dst.dwCount - 1 do begin tmppchar := PChar(DWORD(Dst) + Dst.dwOffset[i]); if tmppchar^ <> #0 then begin //最初に見つけたふりがなを表示 Edit2.Text := tmppchar; break; end; end; FreeMem(Dst); ImmReleaseContext(Handle, imc); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.