Opened 14 years ago

Last modified 14 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 Changed 14 years ago by dai

方向キーとか、その他の制御キーコードがWM_CHARでは取れなかったと思いますよ。

Inkey$で方向キーのメッセージをとって、キャラクタを動かすみたいなプログラムを書いていた覚えがあります(懐かしいな…)。

comment:2 Changed 14 years ago by イグトランス (egtra)

方向キーとか

すっかり忘れていました、すみません。それではWM_CHARではだめですね。しかしそれならそれで正しい値は今とは違うものだと思います。しばらく調べてみるのでまだ閉じないでいてください。

Note: See TracTickets for help on using tickets.