사용자가 입력 한 텍스트를 제한

편집 컨트롤에 입력할 수 있는 텍스트 양에 기본 제한은 32kb입니다. 응용 프로그램 컨트롤 EM_SETLIMITTEXT 메시지를 전송 하 여 입력할 수 있는 텍스트의 양을 변경할 수 있습니다. 이 메시지는 사용자 편집 컨트롤에 입력할 수 있지만 메시지를 보낼 때 이미 컨트롤에 있는 텍스트도 SetDlgItemText 함수 또는 WM_SETTEXT 메시지 컨트롤에 복사 하는 텍스트에 영향을 미치는 바이트 수를 하드 한도 설정 합니다. 예를 들어, 응용 프로그램 SetDlgItemText 함수를 사용 하 여 편집 컨트롤에 500 바이트를 배치 하 고 또한 500 바이트 (1000 바이트 총)을 입력 하는 사용자를 가정 합니다. 그런 다음 응용 프로그램 사용자가 입력 한 텍스트를 300 바이트 제한 EM_SETLIMITTEXT 메시지를 보내는 경우 편집 컨트롤에 이미 1000 바이트, 유지 하 고 사용자는 더 많은 텍스트를 추가할 수 없습니다. 다른 한편으로, 응용 프로그램 사용자가 입력 한 텍스트를 1300 바이트 제한 EM_SETLIMITTEXT 메시지를 보내는 경우 1000 바이트 남아 있지만 사용자 300 더 많은 바이트를 추가할 수 있습니다.

사용자 편집 컨트롤의 문자 제한에 도달 하는 경우 시스템 응용 프로그램 EN_MAXTEXT 알림 메시지에 포함 된 WM_COMMAND 메시지를 보냅니다. 이 알림 메시지를 의미 하지 않는 메모리를 모두 사용 하지만 사용자가 입력 한 텍스트에 대 한 제한에 도달 했습니다; 사용자는 더 많은 텍스트를 입력할 수 없습니다. 이 제한을 변경 하려면 응용 프로그램 메시지를 보내야 합니다 컨트롤을 새 EM_SETLIMITTEXT 높은 제한.

EM_SETLIMITTEXT 및 EN_MAXTEXT의 사용의 예로 응용 프로그램 편집 컨트롤의 개 이상의 문자를 사용자를 제한 해야 가정 합니다. 응용 프로그램 EM_SETLIMITTEXT를 사용 하 여 4-문자 제한을 지정할 것 이다. 사용자가 다섯 번째 문자를 입력 하려고 하는 경우 시스템 응용 프로그램에 EN_MAXTEXT 알림 메시지를 보낼 것 이다.

 

Index