![](/img/trans.png)
[英]Dialog-based Win32 API program will not display window when a Richedit control is used
[英](WIN32 API) Edit Control Style not applying to RichEdit in CreateWindowEx
我使用了以下代碼,並且運行良好,只允許用戶輸入數字。 我想通過使用RichEdit來增加功能,所以我添加了它。
我從使用:
wchar_t sampletext[] = L"foobar";
HWND inputText = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", sampletext,
ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE,
10, 10, 500, 75, hWnd, NULL, *hInst, NULL);
至:
LoadLibrary(L"riched32.dll");
wchar_t sampletext[] = L"foobar";
HWND inputText = CreateWindowEx(WS_EX_CLIENTEDGE, L"RichEdit", sampletext,
ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE,
10, 10, 500, 75, hWnd, NULL, *hInst, NULL);
更改它使我可以使用CTRL + Z和CTRL + A,但由於某些原因,我現在可以輸入所有非數字字符。
如何解決此問題,使Rich Edit在此文本字段中僅接受數字? 要么
另外,我將如何創建自己的自定義過濾器,該過濾器僅接受數字輸入文本字段?
編輯:
這是我打字的照片
“ RichEdit”控件類具有其自己的樣式集 。
但是據MSDN, ES_NUMBER
是其中之一。 但是,請注意ElmueSoft的評論。
要將輸入過濾為僅數字而無需控件的幫助,可以將其子類化。 但是,您需要處理很多消息。 WM_CHAR
最明顯,但是WM_PASTE
和WM_SETTEXT
可以傳入非數字文本。
有關子類的好信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.