2016-07-24 48 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' =窗口消息。所有的常用控件都遵循這個主題。可以很容易地告訴錯誤的代碼是錯誤的。如果您不確定,請在文檔中查找。害怕刪除某些東西,因爲你不知道它的含義有點愚蠢。 *找出它的含義! –