- - PR -
VBAでEnterキーイベントを取りたいのですが!!
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-01 10:38
Access2000のフォームにListViewコントロールがあり、
ListViewコントロールのアイテムを選んでEnterキーを押したときに "Enterキーが押されたよ!" とMsgboxを出したいのですが、どのようにすればよいでしょうか。。 普通にKeyDownイベントに書いても、Enterキーの場合は他のコントロールにタブ移動してしまってイベントが取れなくて困っております。 何卒ご教授のほどよろしくお願いします。 [ メッセージ編集済み 編集者: McLaren 編集日時 2005-07-01 11:05 ] | ||||
|
投稿日時: 2005-07-01 12:14
KeyPress イベントはお試しになりましたか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-07-01 12:29
ご返信ありがとうございます。
はい、KeyPress KeyUp ともに試しましたが駄目でした。。 | ||||
|
投稿日時: 2005-07-01 13:15
これって、既に Enter が Tab とかに置き換えられてるような... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-07-01 13:22
おっしゃるとおりのようです。。
EnterとTab以外は KeyDown KeyPress KeyUp の順にしっかりイベントが取れているのです。API関数で何とかならないものかと思っておりますが、良い物が見つかりません(泣) | ||||
|
投稿日時: 2005-07-01 13:27
その置き換えをやっている場所で補足してはダメなんでしょうか?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-07-01 13:49
おっと!!
Access自体の[ツール]-[オプション]に[Enterキー入力後の操作]という項目がありました!! (ヘルプから抜粋)================================================== 解説 [オプション] ダイアログ ボックスの [キーボード] タブの [Enterキー入力後の操作] に表示さ れる次のオプションを使用できます。 オプション 説明 Don't Move 移動しない Enter キーを押しても移動しません。 Next Field 次のフィールド Enter キーを押すと、カーソルがフォームまたはデータシートの次のコントロールまたはフィールドに移動します。 Next Record 次のレコード Enter キーを押すと、カーソルがフォームまたはデータシートの次のレコードの最初のコントロールまたはフィールドに移動します。 ============================================================== こんなものがあるとは知りませんでした。。 このオプションを「移動しない」にすればEnterキーを押したときは KeyUp イベント のみ取得できました。 このオプションを何とかVBAからセットしたいのですが、どなたか方法をご存知でしょうか。。 | ||||
|
投稿日時: 2005-07-01 13:51
あと一歩調べてから発言すべきでした。。
http://www.accessclub.jp/samplefile/samplefile_190.htm を試してみます。 ありがとうございました。。 |