我有一个编辑文本控件,我希望子类在按下SHIFT键时允许使用小写字符,因为默认情况下允许控件只接受大写字符 .
所以我的问题是如何将控件中的输入模式从低级更改为大写 .
我正在使用WIN32,我成功捕获了WM_CHAR事件:WNDPROC ancienneEditProc; LRESULT CALLBACK EditTextProc(HWND hwnd,UINT mssg,WPARAM wParam,LPARAM lParam){switch(mssg){
case WM_CHAR:{char character [2]; character [0] =(char)wParam; character [1] = 0; if(HIWORD(GetKeyState(VK_SHIFT))){AnsiLower(character); } wParam = character [0];打破} return CallWindowProc(ancienneEditProc,hwnd,mssg,wParam,lParam);但问题是如何在捕获WM_CHAR后更新编辑文本控件以接受小写 .
1 回答
我假设您正在使用win32或MFC文本编辑 . grab WM_CHAR事件 .
在MFC上,使用消息映射:
在你的.h
在你的.cpp
见:http://msdn.microsoft.com/en-us/library/3zzfkd75%28v=vs.71%29.aspx