Win32 Edit控件混合大小写

use*_*153 1 c++ winapi edit-control mixed-case

我正在学习并且对此有所了解.我搜索了很长时间,找不到任何答案.

每次我在Edit控件中输入文本时,它总是变为小写,即使使用ShiftCapsLock.我没有在其上放置任何小写/大写样式:

hEditSub = CreateWindow("EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | EM_SETHANDLE, 10, 334, 270, 20, hwnd_MainSub, NULL, hInstance_Main, NULL);
Run Code Online (Sandbox Code Playgroud)

有没有办法让它混合大小写(允许大小写)?或者是否需要继承子类?

Dav*_*nan 5

EM_SETHANDLE是窗口消息常量而不是窗口样式.据推测,它具有导致行为的数值.人们想象你的虚假风格被解释为ES_LOWERCASE.

EM_SETHANDLE从窗口样式中删除.

  • 那些好奇的小前缀疣实际上意味着什么,@ user.`EM` =编辑消息.`ES` =编辑风格.`WS` =窗口样式.`WM` =窗口消息.所有常见控件都遵循此主题.可以很容易地判断出错误的代码是错误的.如果您不确定,请在文档中查找.因为你不知道它意味着什么而害怕删除某些东西是有点愚蠢的.*找出*意味着什么! (4认同)