限制用户输入的文字

【勇芳软件工作室】汉化HomePreviousNext

用户在编辑控件中输入的文本量的默认限制为32千字节。应用程序可以通过发送控件EM_SETLIMITTEXT消息来更改用户可以输入的文本数量。该消息设置用户可以输入到编辑控件中的字节数的硬限制,但是当发送消息时也不会影响已经在控件中的文本,也不会影响文本复制到SetDlgItemText功能的控件或{ 989796012}消息。例如,假设应用程序使用SetDlgItemText函数在编辑控件中放置500个字节,并且用户还输入500字节(总共为1000个字节)。如果应用程序发送一个限制用户输入的文本到300字节的EM_SETLIMITTEXT消息,则编辑控件中已经存在的1000个字节保留在该位置,用户不能再添加任何文本。另一方面,如果应用程序发送限制用户输入的文本到1300字节的EM_SETLIMITTEXT消息,则保留1000字节,但用户可以添加300个字节。

当用户达到编辑控件的字符限制时,Windows会向应用发送一条包含EN_MAXTEXT通知消息的WM_COMMAND消息。此通知消息并不意味着内存已用尽,但用户输入的文本的限制已达到;用户不能再输入任何文字。要更改此限制,应用程序必须向控件发送具有更高限制的新EM_SETLIMITTEXT消息。

作为使用EM_SETLIMITTEXT和EN_MAXTEXT的示例,假设应用程序必须将用户限制在编辑控件中不超过四个字符。应用程序将使用EM_SETLIMITTEXT指定四个字符的限制。如果用户尝试输入第五个字符,Windows将向应用程序发送EN_MAXTEXT通知消息。