【发布时间】:2010-11-12 23:28:51
【问题描述】:
我正在使用 dev-c++ 在 C++ 中开发 GUI。
我有一个这样的编辑控件:
hctrl = CreateWindowEx(
0,
"EDIT", /* Nombre de la clase */
"", /* Texto del título, no tiene */
ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP |
ES_NUMBER , /* Estilo */
85, 43, /* Posición */
90, 25, /* Tamaño */
hwnd, /* Ventana padre */
(HMENU)ID_TEXTO2, /* Identificador del control */
hInstance, /* Instancia */
NULL); /* Sin datos de creación de ventana */
SendMessage(hctrl, WM_SETFONT, (WPARAM)hfont,
MAKELPARAM(TRUE, 0));
我希望用户在此字段中介绍一个电话号码。这是必填字段。
我需要禁用此 GUI 的 OK 按钮,直到正确填写该字段。也有可能您可以按下按钮,但会显示一条消息,提示您必须填写空白字段。
我试过了:
switch (HIWORD(wParam)) {
case BN_CLICKED:
switch (LOWORD(wParam)) {
...
...
case ID_BOTON9:
hctrl = GetDlgItem(hwnd,ID_TEXTO2);
len = GetWindowTextLength(GetDlgItem(hwnd,ID_TEXTO2));
if (len == 0)
MessageBox(hctrl, "Número no válido","Error", MB_ICONEXCLAMATION | MB_OK);
break;
...
}
break;
}
但这不起作用。
有人能解释一下吗?
提前致谢。
【问题讨论】:
-
不起作用的情况不多。它在什么方面不起作用?
-
当我按下按钮时,如果该字段为空,则不会发生任何事情......
-
我需要禁用该按钮是该字段为空还是启用并显示一条消息说您必须填写该字段。
-
您不应该允许用户按下按钮并显示警告消息。确定按钮应该被禁用。编辑框下应该一直是一条短信,而数字未填写。
-
你试过调试你的程序吗?如果将断点放在
case ID_BOTON9行会发生什么?
标签: c++ user-interface winapi validation controls