Opened 18 years ago
Last modified 18 years ago
#60 new バグ(ケアレスミス)
Inkey$内部で仮想キーコードの値を元に文字列を構築している
Reported by: | イグトランス (egtra) | Owned by: | dai |
---|---|---|---|
Priority: | 中-major | Milestone: | ablib_α1 |
Component: | ablib | Version: | |
Keywords: | prompt | Cc: |
Description
prompt.sbpのInkey$では、戻り値となる入力文字を_PromptSys_KeyCharから得ている。 _PromptSys_KeyCharへは、PromptProcでWM_KEYDOWNが来たときにwParamの値をそのまま代入している。 WM_KEYDOWN時のwParamは仮想キーコードであり、これを基に文字列を構築するのは問題だと思われる。 ただし数字とアルファベットの仮想キーコードがASCIIコードと一致しているため、今まで問題とならなかったのだろう。
個人的には、最後にWM_CHARで読み取った文字を返すことにしたら良いと思う。
Change History (2)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
方向キーとか
すっかり忘れていました、すみません。それではWM_CHARではだめですね。しかしそれならそれで正しい値は今とは違うものだと思います。しばらく調べてみるのでまだ閉じないでいてください。
Note:
See TracTickets
for help on using tickets.
方向キーとか、その他の制御キーコードがWM_CHARでは取れなかったと思いますよ。
Inkey$で方向キーのメッセージをとって、キャラクタを動かすみたいなプログラムを書いていた覚えがあります(懐かしいな…)。