> include\api_msg.sbpに以下の定数宣言をしていただけないでしょうか。
>
実はこれらの定数はC++でも定義されていません。
それはどうしてかといいますと
仮想キーコードのA~9まではいわゆるアスキーコードと対応しているからです。
ですからC++では''を使って文字コードを直接数値として与えることができるのでVK_***は必要ないんです。
これはActiveBasicにも当てはまります。
ABではAsc()関数ってのありまして、これで文字コードを取得できます。
たとえばこんな感じです。
コード: 全て選択
Sub MainWnd_KeyDown(KeyCode As Long, flags As Long)
Select Case KeyCode
Case Asc("A")
PostMessage(hMainWnd,WM_CLOSE,0,0)
End Select
End Sub
しかし、文字キーの仮想キーコードを定数としたい場合は話は別です。
たとえば
コード: 全て選択
Const HOGE = VK_A<<8
こんな時にAsc関数しかないのは不便です。
山本(管理人)様も気付いているかもしれませんがmmsystem.hのMAKEFORCC()
もABに移植するのが大変なマクロの1つです。
これはチャンクを作成するマクロですが内部で文字コードをビットシフトしています。
仕方ないのでFunctionで代用という状況ですが、、、