2013-04-08 7 views
1

CEdit 컨트롤에 입력 할 입력 유형을 결정하는 라디오 버튼이 있습니다. 설계 상으로는 CEdit 컨트롤이 숫자와 문자를 사용할 수 있습니다.CEdit 컨트롤의 숫자 전용 입력 모드와 영숫자 입력 모드를 전환 할 수 있습니까?

사용자가 제공된 라디오 버튼을 클릭 할 때 에만이 입력을 제한하는 방법이 있습니까? 또한 사용자가 다른 옵션 (예 : 영숫자 모드)을 클릭하면 되돌릴 수 있습니까?

Visual C++의 GUI (예 : 컨트롤 -> 속성 -> 스타일 탭 -> 번호 선택)를 사용하여 내 CEdit 컨트롤에 영숫자 문자를 허용하도록 컨트롤을 설정했습니다.

예제 사용 사례 :

  1. 사용자가 응용 프로그램을 시작합니다.
  2. 사용자가 일부 버튼을 클릭하면 고려 대상의 컨트롤이 CEdit 인이 대화 상자가 표시됩니다.
  3. 사용자에게 숫자 버튼이 기본적으로 선택되는 라디오 버튼이 표시됩니다 (디자인 타임에 설정된 기본 모드이므로).
  4. 사용자가 숫자를 클릭합니다.

이 시점에서 입력을 CEdit 제어로 제한하고 싶습니다. 마찬가지로 사용자가 영숫자 라디오 버튼을 다시 클릭하면 해당 제한을 제거하려고합니다.

답변

4

예, CEdit::ModifyStyle()을 사용하여 ES_NUMBER 스타일을 설정하거나 지 웁니다.

CEdit *pEdit = // get your control here ... 
pEdit->ModifyStyle(0, ES_NUMBER); 

을 그리고 모든 문자를 받아들이으로 되돌릴 수 :

그래서, 숫자 만 받아 들일 수 있도록하는

pEdit->ModifyStyle(ES_NUMBER, 0); 
+0

완벽! 그것은 꿈처럼 작동합니다. 정말 고맙습니다. –