2016-07-24 45 views
1

我正在学习和新的这一点。我搜索了很长时间,找不到任何答案。Win32编辑控制混合案例

每次我在Edit控件中键入的文本,它总是变成小写,使用的CapsLock时也是如此。我没有把它的任何小写/大写风格:

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

有没有什么办法让它混合大小写(允许下限和大写)?或者是 子类化需要?

+2

EM_SETHAND?... –

+7

EM_SETHANDLE = 0xBC,打开ES_UPPERCASE和ES_LOWERCASE。我们现在知道哪一个赢了:) –

回答

5

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

从您的窗口样式中删除EM_SETHANDLE

+0

哦,废话,我怀疑那件事,我从其他人那里得到了代码,但害怕将它删除,因为我认为它是默认的,并且不符合他的代码。 它现在工作,非常感谢你,我是多么愚蠢我xD 你在一分钟内解决6个月的头痛xD – user5962153

+4

那些好奇的小前缀疣实际上意味着什么,@user。 'EM' =编辑信息。 'ES' =编辑风格。 'WS' =窗口样式。 'WM' =窗口消息。所有的常用控件都遵循这个主题。可以很容易地告诉错误的代码是错误的。如果您不确定,请在文档中查找。害怕删除某些东西,因为你不知道它的含义有点愚蠢。 *找出它的含义! –