掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
2008ServerでSendKeysのwaitを有効にするには? (ID:102772)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お知恵をお借りしたく投稿いたします。 Win2000時代に開発したVB6パッケージがあり、そのまま使い回しております。 今回これを客先手配の2008Server64bitにて動かすことになり 動作検証を行っているのですが、 入力欄Enter⇒次入力欄Focus、Focusされた入力欄は全選択状態 というカーソル制御がうまくいかなくなりました。 抜粋プログラムを作成し調査した結果、 SendKeysの追加パラメータ wait=True が有効でなく、 waitがかからないまま次の処理が先に実行されてしまっているようです。 抜粋:InTxtCode でEnter押下で InTxtName にFocus Focus前にLeftキーを送ることで全選択された可能性を除外する Private Sub InTxtCode_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then 'Leftを送って全選択クリア SendKeys "{LEFT}", True '次入力欄へFocus InTxtName.SetFocus End If End Sub ※InTxtNameはGotFocus時にSelStart=0、SelLength=Len(InTxtName)にて全選択させている 予期した動き(既存の動き):InTxtCodeにてEnter押下でInTxtNameに遷移、 InTxtNameが全選択状態 2008Server64Bit:InTxtCodeにてEnter押下でInTxtNameに遷移、 InTxtNameの内容の最後から1文字目にカーソル 試しに『"{LEFT}", True』 を 『"{LEFT3}", True 』とすると 3文字分左にカーソルが寄った状態でInTxtNameにFocusします。 動かす方法、もしくは動かないことが明記されたドキュメントなど 御存じの方おられませんでしょうか? ご助力の程、よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.