tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: テキストボックスの書き込みで正常で無い症状の場合は、どの様に考えれば良いでしょうか。
投稿日: 2025/02/19(Wed) 06:09
投稿者魔界の仮面弁士
こちらでは、下記で期待動作していることを確認しています。
また、 No.16718 の処理順に変更した場合も問題は確認されず、
AK さんの事象は再現していません。

Private Sub Command3_Click()
    Text1.SetFocus
    Call keybd_event(vbKeyDown, 0, 0, 0)
    Call keybd_event(vbKeyDown, 0, KEYEVENTF_KEYUP, 0)
    DoEvents
    Text1.SelText = "2:"
End Sub

ただし当方では、Windows10+VB6 な環境は持ち合わせておらず、
検証用の Hyper-V 仮想マシン( Win7x86Pro+VB6 )上でのテストのため
環境の違いによって振る舞いが変わっている可能性もあります。


しかし、keybd_event API を SendKeys ステートメントに差し替えて
    Text1.SetFocus
    SendKeys "{Down}", True
    Text1.SelText = "2:"
とした場合、これを(開発環境からではなく)EXE にして実行してみたところ、当方環境においても
AK さんの「正常で無い症状」という振る舞いが再現しました。
(EXE から実行したのは、開発環境からの実行だと SendKeys が実行時エラー70 になるため)


SendKeys を使う方法については、
    Text1.SetFocus
    DoEvents
    SendKeys "{Down}", True
    DoEvents
    Text1.SelText = "2:"
あるいは
    Text1.SetFocus
    SendKeys "{Down}", True
    DoEvents
    Text1.SelText = "2:"
ないしは
    SendKeys "{Down}", True
    Text1.SetFocus
    DoEvents
    Text1.SelText = "2:"
のように、SelText 前に DoEvents を含めていた場合は期待動作しています。

もしくはそもそも SelText を使わず
    Text1.SetFocus
    SendKeys "{Down}2:", False
であるとか
    SendKeys "{Down}2:", False
    Text1.SetFocus
などとした場合も期待動作しています。

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

古いスレッドにレスはつけられません。