掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IMEの入力値を取得するには (ID:441)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
にしのさんお返事ありがとうございます。 指示とおり、修正したのですがLISTBOXには意味不明の文字が 表示されます。 コーディングは以下のとおり。(Delphi4.0j Pro) procedure TForm1.Button1Click(Sender: TObject); var i: integer; imc: HIMC; kl: HKL; // キーボードレイアウト Dst: PCandidateList; sz: integer; // サイズ tmppchar: PChar; offset:DWORD; idx: integer; 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); // showmessage(inttostr(Dst.dwCount)); tmppchar := PChar(DWORD(Dst) + Dst^.dwOffset[1]); offset := 0; for i := 0 to Dst^.dwCount - 1 do begin tmppchar := PChar(DWORD(tmppchar) + offset); idx := ListBox1.Items.Add(String(tmppchar)); offset := Length(ListBox1.Items[idx]) + 1; end; FreeMem(Dst); ImmReleaseContext(Handle, imc); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.