VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/02/13(Mon) 18:58
投稿者花ちゃん
Eメール
URL
タイトルRe^3: フリガナ取得いついて

> で、フリガナ変換は一応できるのです。が、フォーカスが他に移動したりするとエラーがでるので
す。
OS やVBのバージョン等環境は?
フォーカスが移動した時ではなく、IMEの変換の途中(未確定状態)の時に他のコントロールに
移動したりするとVB事落ちてしまうと言う事ですか?

IMEの変換を確定してからなら移動しても問題ありませんよ。
漢字を入力しているテキストボックスのtxtTokField_LostFocus イベントで
Call Furigana_End の処理をすればいいのでは。
私の環境では上記を追加すれば落ちる事もエラーも発生しません。
(WindowsXP(Home SP2) VB6.0(SP6))

スタック領域の不足です のエラーがでるのは、Furigana_Start → Furigana_End →
Furigana_Start → Furigana_End のような動作をせず、Furigana_Start → Furigana_Start
のような動作をするから起きるのです。

もっとも、ImmGetContext と ImmGetCompositionString と ImmReleaseContext
だけのAPIでリアルタイムにフリガナを取得する事ができます。(態々サブクラス化しなくても)
ここのサンプル(No.210)のように

又は、魔界の仮面弁士さん 03/04-15:18 No.2964 の投稿のタイプライブラリーを使わせて
もらうとか。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -