在你看来,我可能仍然是一个自杀者,或者更合理地说,我只是一个想要不惜一切代价学习如何经营一家全球性大公司的孩子:L
试图在窗口内制作一个文本输入控制台框,我使用了这个:
textString.insert(cursorPosition,1,(char)wParam);
cursorPosition+=1;
同时从窗口的 WM_CHAR 消息中获取wParam 。当我输入一些东西时,我得到了 gobbledygook!每个按下的键 3 个字母,通常应该在大写字母本身或一些奇怪的 ASCII 之间。例如:
一个-> AA
l -> LLL
\ -> Ü\Ü
shift 键-> □(空白)有一堆空格
据我所知,看起来文本不仅获得了 WM_CHAR,还获得了 WM_KEYDOWN 和 WM_KEYUP。我将代码放在消息处理程序中调用的类中:
case WM_CHAR:
myTextClass(wParam);
break;
有什么问题?=_=''
如果需要,我将发布代码的其他部分。
编辑:好的,请稍等。直观地说,在其他消息解决问题之前移动 WM_CHAR 处理,但我仍然很好奇为什么它会做所有这些事情,如果不是谁来回复 xD 的问题