ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 22:35

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - KeyDown
作成者 メッセージ
  記事の件名:  Re: KeyDown  引用付きで返信する
入力フォーカスがウィンドウのボタンなどのコントロールに無ければ、これで判断できると思います。

If GetAsyncKeyState(VK_SHIFT) < 0 Then
If GetAsyncKeyState(37) < 0 Then
'●●●●●● Shift + ←押された
OutputDebugString("Shift + ←押された")

ElseIf GetAsyncKeyState(38) Then '↑
'●●●●●● Shift + ↑押された
OutputDebugString("Shift + ↑押された")

EndIf
EndIf

-----------------------------------------------------------------

フォーカスがボタンなどに行ってしまう場合は

Createなどでタイマーをセットして、
SetTimer(hMainWnd,0,100,0) '100の所がタイマー処理呼び出し間隔

Sub MainWnd_Timer(TimerID As DWord)

If GetAsyncKeyState(VK_SHIFT) < 0 Then
If GetAsyncKeyState(37) < 0 Then
'●●●●●● Shift + ←押された
OutputDebugString("Shift + ←押された")

ElseIf GetAsyncKeyState(38) Then '↑
'●●●●●● Shift + ↑押された
OutputDebugString("Shift + ↑押された")

EndIf

EndIf

End Sub

こうすればOKです。
投稿記事 Posted: 2017年6月02日(金) 21:58
  記事の件名:  KeyDown  引用付きで返信する
わからなくて悩んでいます。よろしくご教授ください。
Sub MainWnd_KeyDown(KeyCode As Long, flags As Long)
これのKeyCodeで矢印キーボタンを読んでいます。
shfitキー+矢印キーの場合はどう読めば良いでしょうか。
投稿記事 Posted: 2017年5月30日(火) 19:10

全ての表示時間は UTC+09:00 です


ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean