■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#28591-0コマンドボタン KeyDownイベントで 矢印キーを検出したい。らっこちゃん2000-08-24(木) 13:54
#28593-0RE#28591:コマンドボタン KeyDownイベントで 矢印キーを検出したい。きりゅう2000-08-24(木) 14:08
#28594-0RE#28591:コマンドボタン KeyDownイベントで 矢印キーを検出したい。しげ2000-08-24(木) 14:39
#28597-0RE#28593:コマンドボタン KeyDownイベントで 矢印キーを検出したい。らっこちゃん2000-08-24(木) 14:56
#28599-0RE#28594:コマンドボタン KeyDownイベントで 矢印キーを検出したい。らっこちゃん2000-08-24(木) 14:58
#28600-0RE#28597:コマンドボタン KeyDownイベントで 矢印キーを検出したい。Zero2000-08-24(木) 15:13
#28593-0RE#28591:コマンドボタン KeyDownイベントで 矢印キーを検出したい。きりゅう2000-08-24(木) 14:08
#28594-0RE#28591:コマンドボタン KeyDownイベントで 矢印キーを検出したい。しげ2000-08-24(木) 14:39
#28597-0RE#28593:コマンドボタン KeyDownイベントで 矢印キーを検出したい。らっこちゃん2000-08-24(木) 14:56
#28599-0RE#28594:コマンドボタン KeyDownイベントで 矢印キーを検出したい。らっこちゃん2000-08-24(木) 14:58
#28600-0RE#28597:コマンドボタン KeyDownイベントで 矢印キーを検出したい。Zero2000-08-24(木) 15:13
らっこちゃん2000-08-24(木) 13:54
コマンドボタンを 下記の様に [1] [2] [3] [4] [5] [6] [7] [8] [9] と並べて、矢印キーで [1] から [2(左)] もしくは [4(下)] 、[6]からなら [3(上)] [5(左)] [9(下)] という様なフォーカスの移動を制御したいのですが、 コマンドボタンの KeyDown イベントに vbKeyDown 等の矢印キーを検出ロジックを 記載したのですが、実際に 動かして見ると、矢印キーを押すと自動で TabIndex を 指定した順序に [1]から[2][3][4]... とフォーカスの制御が動いてしまい、 KeyDown イベント自体が発生してくれません。 フォームの KeyPreview を Trueにして、Form_KeyDown イベントでも同様の処理を 書いてみたりもしたのですが、やはり KeyDown イベント自体が起こってくれません。 (F4キーなどの他のキーなら KeyDownイベントも起きるのですが...。) どなたか良い解決策をご存知ないでしょうか?
きりゅう2000-08-24(木) 14:08
> コマンドボタンを 下記の様に > > [1] [2] [3] > [4] [5] [6] > [7] [8] [9] > > と並べて、矢印キーで [1] から [2(左)] もしくは [4(下)] 、[6]からなら > [3(上)] [5(左)] [9(下)] という様なフォーカスの移動を制御したいのですが、 > コマンドボタンの KeyDown イベントに vbKeyDown 等の矢印キーを検出ロジックを > 記載したのですが、実際に 動かして見ると、矢印キーを押すと自動で TabIndex を > 指定した順序に [1]から[2][3][4]... とフォーカスの制御が動いてしまい、 > KeyDown イベント自体が発生してくれません。 > > フォームの KeyPreview を Trueにして、Form_KeyDown イベントでも同様の処理を > 書いてみたりもしたのですが、やはり KeyDown イベント自体が起こってくれません。 > (F4キーなどの他のキーなら KeyDownイベントも起きるのですが...。) > > どなたか良い解決策をご存知ないでしょうか? KeyPressイベントを使ってはどうでしょうか? 私は、数字入力欄で数字及びBS,Enter,Del,ESCのみの入力しか受け付けないようにするのに KeyPressイベントで if (Keyascii >= Asc("0")) or (Keyascii <= Asc("9")) or Keyascii = vbkeyback _ Keyascii = vbkeyDelete or keyascii = 13 or Keyascii = 27 then 処理したい内容 End if (13と27はアスキーコードのCRとESCです。) てな感じでEnterとESCを押した時の処理を記述してます。 ちょっと長いですけど。(^^;; こんな感じでどうですか?
しげ2000-08-24(木) 14:39
> フォームの KeyPreview を Trueにして、Form_KeyDown イベントでも同様の処理を > 書いてみたりもしたのですが、やはり KeyDown イベント自体が起こってくれません。 > (F4キーなどの他のキーなら KeyDownイベントも起きるのですが...。) > > どなたか良い解決策をご存知ないでしょうか? VBでは(他の言語は知らないですが)、 CommandButton にフォーカスがある状態では矢印キーの取得は出来ません。 たとえ、TabStop=False でも、コンテナ上に配置していても、Style=2 でもです。 と言うわけでCommandButton を止めましょう。 代替手段として、例えばピクチャボックスにボタンの絵を描いてこれを使うとか(^_^;)
らっこちゃん2000-08-24(木) 14:56
> KeyPressイベントを使ってはどうでしょうか? > 私は、数字入力欄で数字及びBS,Enter,Del,ESCのみの入力しか受け付けないようにするのに > KeyPressイベントで > if (Keyascii >= Asc("0")) or (Keyascii <= Asc("9")) or Keyascii = vbkeyback _ > Keyascii = vbkeyDelete or keyascii = 13 or Keyascii = 27 then > > 処理したい内容 > > End if > (13と27はアスキーコードのCRとESCです。) > てな感じでEnterとESCを押した時の処理を記述してます。 > ちょっと長いですけど。(^^;; > こんな感じでどうですか? KeyPressでも、ボタン上の矢印キーは検出できませんでした。(T_T) (そもそも KeyPressって矢印キーを検出できましたっけ?? できるとすれば、CHR$() のいくつなんでしょうか? )
らっこちゃん2000-08-24(木) 14:58
> > フォームの KeyPreview を Trueにして、Form_KeyDown イベントでも同様の処理を > > 書いてみたりもしたのですが、やはり KeyDown イベント自体が起こってくれません。 > > (F4キーなどの他のキーなら KeyDownイベントも起きるのですが...。) > > > > どなたか良い解決策をご存知ないでしょうか? > > VBでは(他の言語は知らないですが)、 > CommandButton にフォーカスがある状態では矢印キーの取得は出来ません。 > > たとえ、TabStop=False でも、コンテナ上に配置していても、Style=2 でもです。 > と言うわけでCommandButton を止めましょう。 > 代替手段として、例えばピクチャボックスにボタンの絵を描いてこれを使うとか(^_^;) > やっぱり、ムリですか...(>_<) ピクチャボックスも考えたんですが、クリック時の凹んだ描写が面倒臭いですね... ありがとうございます。 ピクチャボックスに頑張って絵を書こうかと思います。m(_ _)m
Zero2000-08-24(木) 15:13
> KeyPressでも、ボタン上の矢印キーは検出できませんでした。(T_T) > > (そもそも KeyPressって矢印キーを検出できましたっけ?? > できるとすれば、CHR$() のいくつなんでしょうか? ) KeyPressイベントは、文字キー(ファンクションキー、InsertやDeleteなどの編集キー、 移動キー以外のキー)を押して離したときに発生します。 従って、矢印キーでは KeyPressイベントは発生しません。替わりに KeyDown、KeyUp イベントを使います。
このページと関連する記事:
#13607-0矢印キーの検出方法2000-12-22(金) 10:41#12085-0ボタン類の矢印キーのイベント取得の方法は無いのでしょうか?1999-12-20(月) 18:27
#35026-0コマンドボタンで矢印キーを操作する方法教えて♪2000-12-09(土) 10:01
#13927-0Enter(Return)キーの取得方法2001-01-16(火) 21:39
#11491-0キーボードのじゅうじキーによる操作2000-09-18(月) 12:18
#14938-0コマンドボタン上での矢印キー2001-03-08(木) 14:14
#2159-2CmdButtonのKeyDownイベント2001-11-28(水) 07:38
#12102-0RE#12066:Commandボタンを押した時にEnterキーを押した状態にしたいのですが2000-10-16(月) 10:28
#6140-0マウスレスのアプリケーションを作成するには・・・1999-09-29(水) 08:55
#18393-0コマンドボタンのイベントについて2001-10-23(火) 13:09