Smartphone上的Edit控件的Back问题
大家好,我正在用VS2005开发一个基于Smartphone 2003/WM 5 for Smartphone的游戏。
现在遇到了这样一个难题,我想很多人都遇到过吧。
Smartphone键盘上面的“←”键。实际上发出的消息是“VK_ESCAPE”。这是Smartphone的特殊性,所以Edit控件就遇到了麻烦:“←”键不起作用。于是MSDN上给了这样的方案:用SHCMBM_OVERRIDEKEY消息把VK_TBACK注册为热键,然后用SHSendBackToFocusWindow达到让Edit空间删除最后一个字符的办法。
但是我现在的情况比较复杂,就是我的程序是只有主窗口和Edit控件,没有菜单。那么上面的办法对我来说就不起作用了。
我试过子类化Edit控件的窗口处理函数,想自己处理“VK_TBACK”按键事件,能做到删除控件中最后一个字符的功能,但是,这种办法在输入法打开的情况下实效了。我想删除输入法的候选字符的最后一个,但是却总是把屏幕上的最后一个字符删掉。
请问大家有没有什么办法?
万分感谢。