0

我不知道当我们输入文本框时文本框如何只接受字符和空格。我只是认为我们可以使用 WM_Keydown 但我只是猜它不知道我们输入哪个编辑控件。这是我创建表单的代码

void CREATE_EDITNAMECONTROL()

Create_Control( hNameEditControl,   /* Handle */
    NULL,//NULL,        /* Handle of parent */
    L"Edit",  /* class name */
    ID_EDIT_CONTROl , /* ID     */
    L"",        /* Caption/Title */
    EDITCONTROL_STYLE, /* Style */
    200,        /* Position X */
    70,     /* Position Y */
    160,        /* Width      */
    30 );       /* Height     */

无效 CREATE_EDITDATECONTROL()

Create_Control( hDateEditControl, /* Handle */ NULL,//NULL, /* Handle of parent */ L"Edit", /* class name */ ID_EDIT_CONTROl , /* ID */ L"", /* Caption/Title */ EDITCONTROL_STYLE, /* Style */ 200, /* Position X */ 110, /* Position Y */ 160, /* Width */ 30 ); /* Height */

4

1 回答 1

1

当您收到 Windows 消息时,您WndProc将获得目标窗口句柄作为hWnd. 您可以将此值与每个控件的存储句柄进行比较,以确定哪个触发了事件。

如果它是相关的编辑控件,您可以过滤和更改文本以适应。

请注意,有很多方法可以更改不涉及WM_KEYDOWN消息的编辑控件中的文本,例如右键单击并粘贴。

于 2012-10-09T10:33:34.513 回答