MSDN의 모든 페이지를 검사했지만 다음과 같은 결과가 없습니다.제한 편집 컨트롤 내용
- 편집 컨트롤의 최소 문자 길이.
- 편집 컨트롤의 입력 값 범위 지정.
- 편집 컨트롤에서 알파벳 만 허용.
- 버튼 컨트롤을위한 툴팁을 설정합니다.
Win32에서이 작업을 수행하는 방법을 알려주십시오.
MSDN의 모든 페이지를 검사했지만 다음과 같은 결과가 없습니다.제한 편집 컨트롤 내용
Win32에서이 작업을 수행하는 방법을 알려주십시오.
제대로 수행하기가 어렵습니다. 순진적인 접근 방식은 메시지를 처리하여 백 스페이스를 가로 채고 키를 삭제합니다 (VK_BACK
및 VK_DELETE
). 그러나 사용자는 기존 텍스트 중 일부를 선택한 다음 삭제 (백 스페이스 또는 삭제), 잘라 내기 또는 바꾸기 (키 입력 또는 다른 텍스트 붙여 넣기)를 처리해야합니다. 나는 그것이 가치 있다고 생각하지 않으며, 당신이 이것을 잘 할 수 있다고하더라도, 당신이 모든 정상적인 행동을 깰 때 혼란 스러울 수 있습니다. 컨트롤에 텍스트 "바"가 있지만 "baz"로 변경하려는 경우 컨트롤의 최소 길이를 3으로 설정 한 다음 마지막 문자를 백 스페이스로 가져 오려고 시도하면 처음에는 "bar"로 변경해야 "r"문자를 삭제할 수 있습니다.)
컨트롤에 최소 길이가 필요한 경우이를 적용하는 것이 좋습니다. 별도의 유효성 검사 단계 (예 : 확인 단추를 클릭하거나 다른 컨트롤로 포커스를 이동하는 경우) 및 적절한 오류 메시지 표시
특정 문자 만 편집 컨트롤에 입력 할 수 있는지 여부 또는 숫자 값 범위로 제한할지 여부가 확실하지 않습니다. 전자의 경우 3을 참조하십시오.
값을 특정 숫자 범위로 제한하려면 별도의 유효성 검사 단계에서 값을 제한하는 것이 좋습니다. 그렇지 않으면 사용자가 정상적인 방법으로 문자를 삽입 및 삭제하지 못하게 될 수 있습니다. 가능한 경우 편집 컨트롤을 사용하거나 트랙 막대 (슬라이더) 컨트롤을 사용하지 마십시오.
편집 컨트롤을 서브 클래스 화하고 WM_CHAR
메시지를 처리하고 원하지 않는 문자를 거부해야합니다. 또한 WM_PASTE
메시지를 처리하고 유사한 유효성 검사를 수행해야합니다.
이것은 편집 컨트롤과 아무 관련이 없으므로 아마도 별도의 질문이어야합니다. 너 뭐 해봤 니? http://msdn.microsoft.com/en-us/library/bb760250.aspx을 읽으셨습니까?