【发布时间】:2014-03-30 22:47:43
【问题描述】:
我使用了以下代码,它运行良好,只允许用户输入数字。我想通过使用 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”是一个不同的控件类,有自己的风格。
标签: c++ windows api winapi user-interface