VB5.0+ACCESS での開発です。
txt1 txt2 txt3 txt4 とあり、
各KeyPress で次のtxtへSetFocousをしているのですが。
formKeypressを設定してから、txtのKeyPressが効かなくなりました。
それぞれ処理は、
Private Sub *** KeyPress(KeyAscii As Integer)
On Error GoTo Err_Pro
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
SetFocus
End If
Exit Sub
End Sub
と書いております。。。
form、txt、どちらでもkeyPressを反応させるのは不可能なのでしょうか??
よろしくお願い致します。
何をしたいのかいまいちわからないのですが、FormのKeyPreviewをTrueにしておいて、
Form_KeyPressイベントでKeyAscii = 0をやれば、当然そのKeyPressはキャンセルされます。
単にリターンでテキストのフォーカスを移動したい場合は、たとえば
テキストボックスをText1(1)〜Text1(4)まで配列で4つ用意して、
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Dim intT As Integer
If KeyAscii = vbKeyReturn Then
intT = (Index Mod 4) + 1
With Text1(intT)
.SetFocus
.SelStart = Len(.Text)
End With
KeyAscii = 0
End If
End Sub
こんなことをすれば可能です。
説明不足で申し訳ございません。
検索の画面を作成しており、
検索条件には
店舗名.txt や 住所.txt
等に検索条件を入力後、検索ボタンを押し、検索結果は、
pnlに表示させております。pnlはインデックスで画面上に10ありまして、
formKeyPressでエンターを押下すると、pnl(1)を選んで、別フォームの・・・・
という感じです。
ですので、txtはインデスクでは無く、個別に名前が付いております。
よろしくお願い致します
さいごのセットフォーカス
これって記述あってる?
自分なら
キーアスキーを0にするんではなく
タブのキーアスキーをセットしますね。
セットフォーカスの
記述がまちがってるから
エラーハンドラに飛ぶだけたから動かないように見えてるだけかな
ステップ実行しましょ
setfocusには、移動先のtxtを記入しております。
tabは、一応tabindexを設定しているので、tabでの移動も可能ですが、他のシステムと
同じ仕様(エンターはフィールド移動)にしたい為に苦戦中です。
タブのキーアスキーの意味が分かりません><
よろしくお願い致します。
>タブのキーアスキーの意味が分かりません><
KeyAscii = 0
を
KeyAscii = ??
??をtabの値にしてください。
やはり、formKeypress と通常の***.txtでのkeypressの同時使用は出来ないのでしょうか??
tabでのフィールド移動では無く、やはり、エンターキーでのフィールド移動が理想です。
AsciiをTabの値にするというのは、Enterキーを押したらTabキーを押したのと同じ働きをさせる為だと思いますが
takaさんはどう受け取ったのでしょうか?
回答には「Tabキーを押して移動」とはどこにも書いていないですよね
冷静に、わたしは、
キーアスキーを0にするんではなく
タブのキーアスキーをセットしますね。
と回答したのは・・・。
つまり、Enterが押されたとき、KeyAsciiを0にセットし
何も押されていないように、偽装するのではなく、
Enterが押されたとき、KeyAsciiにTabの値をセットし
Tabが押されてたように、偽装する。
というのを言っております。
Tabを押すとは言っておりません。
Tabを押したときと同じ動きにするだけです。
>やはり、formKeypress と通常の***.txtでのkeypressの同時使用は出来ないのでしょうか??
答えは否!
FormのKeyPreviewプロパティがTrueならば。
Formのキーイベントが先に動作し、その後、書くオブジェクトのイベントが
発生します。
っとヘルプが入っていなくても、
プロパティウィンドウの説明書きにありますので、読みましょう。
> takaさんはどう受け取ったのでしょうか?
> 回答には「Tabキーを押して移動」とはどこにも書いていないですよね
??をtabの値にしてください。
を実際に試し、Enterを押下したら、そんな回答は出ないはずです。
実際に試さないで、予測で話していませんか?
はい、実際PCの前でしております。
txtのkeypressの中にTabのキーアスキー『9』をセットしたのですが、
どうしてもFormkeyPressのキープレスが反応して、txt内でエンターキーを押下しても、
全く何の反応もありません。
ただ、FormKeyPressは、Captionの内容を選んで別画面に移動する為に使いたいので、
FormKeyPressの中で
If pnlCode(1).Caption = "" Then Exit Sub
と記載すると、FormKeyPressの中が走らないので、txtでのKeypressが効く様になったのですが・・・・
> txtでのKeypressが効く様になったのですが・・・・
#"が・・・・"の後は、
#Enterキーでフォーカスが動きません。
#と常識のある人は予測しますが、正しいですか?
っていうか、後から投稿したということは↓で続きやりたいの?
http://www2j.biglobe.ne.jp/~little-g/cgi-bin/hajikariqa.cgi
#"が・・・・"の後は、
#Enterキーでフォーカスが動きません。
#と常識のある人は予測しますが、正しいですか?
はい!
それと、リンク先の質問内容は私がした訳ではありません。
文章は私が書き込んだ物とまったく同じですが・・・
これはイタズラでしょうか??
なんだか、よく理解できません。
>>いなさん
あれ?私の解釈間違ってましたか・・・?
ん〜、かなり紛らわしかったです。
> tabでのフィールド移動では無く、やはり、エンターキーでのフィールド移動が理想です。
に対し、
> takaさんはどう受け取ったのでしょうか?
どう受取っても、実際に試していれば、
そんな回答は出ないはずだけど、不思議ですよねぇ〜。通ってみた さん
という扱いのつもりっす。
>これはイタズラでしょうか??
俗に言う、成りすましというヤツですかね。
誤解の無いように、あちらの投稿に
コメントしておいた方が良いかもしれないですね。
ご指導頂いた方法ではないですが、解決する事が出来ましたので、CLOSEさせて頂きます。
ありがとうございました。
>>takaさん
解決したのでしたら、その方法を書いてくれると情報として残るのですが・・・
解決したのでしたら、ですが
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200511/05110081.txt
も、そうですが、
質問の仕方を知らない人は、
解決報告の仕方も知らない人が多いので
私はあきらめています。
ツイート | ![]() |