VBのLOCKEDプロパティについて


へなちょこ  2004-06-01 23:08:57  No: 83696  IP: [192.*.*.*]

VB6SP5  Win2000で開発をしております。
質問ですがあるAPで、以下のようなコードを書いて実行すると
    Debug.Print "ロック前" & Text1.IMEMode
    Text1.Locked = True
    Debug.Print "ロック後" & Text1.IMEMode
ロック前は4でロック後には3になってしまいます。
なぜなのでしょうか?
テスト用にテキストボックス1個とコマンドボタンにこのコードを書いただけの
APだと、ロック前は4でロック後には4になっています。
何に違いがあるのでしょうか?
ちなみに、最初はIMEMODEを全角ひらがなにしています。

編集    削除
へなちょこ  2004-06-01 23:19:13  No: 83697  IP: [192.*.*.*]

説明の追加です。
SQLの結果をLOOPさせて画面に表示しています。
表示が終わった後に
Debug.Print "ロック前" & Text1.IMEMode
のコードが来るわけです。
このコードの所にブレークポイントを置いて、
一回停めてから行実行していくとIMEmodeは変わる事無く
ロック前は4でロック後には4になっています。
なので、LOOPの終わりにDおEventsを入れてみましたが
ロック前は4でロック後には3でした。
どうすれば解決できるのでしょうか?

編集    削除
さめ  2004-06-02 00:03:13  No: 83698  IP: [192.*.*.*]

同じ環境でしたが、再現しませんでした。

再現する、最小限のコードを載せてもらえますか?

編集    削除
へなちょこ  2004-06-02 00:08:10  No: 83699  IP: [192.*.*.*]

一応以下のような流れになっています。
自分でも再現できないので、本当に原因がわかりません・・・
    '/* 倉庫Master検索 */
    nRet = SelectMhiksok(rsMst, Trim$(txtYomi.Text), True)
    Select Case nRet
    Case C_RET_TRUE, C_RET_STOP
        '/* フレックスグリッドにData表示 */
        Call GridDispData(rsMst)
        'レコードセット解放
        Call COM_CloseObject(rsMst)
    Debug.Print "ロック前" & txtYomi.IMEMode
        '/* Lock */
        txtYomi.Locked = True
'        txtYomi.IMEMode = 4
    Debug.Print "ロック後" & txtYomi.IMEMode

編集    削除
へなちょこ  2004-06-04 19:34:03  No: 83700  IP: [192.*.*.*]

ImeModeに対して何かをしているロジックを書いてはいないのですが
、何故ImeModeが変わってしまうのでしょうか?

編集    削除