다음을 통해 공유


MaskedEdit 컨트롤

MaskedEdit 컨트롤은 컨트롤의 텍스트 필드에 마스크를 포함하는 편집 필드 컨트롤입니다. Control 테이블의 Property 열에 속성 이름을 입력하여 컨트롤을 문자열 값 속성과 연결할 수 있습니다.

MaskedEdit 컨트롤을 사용하여 전화번호 또는 제품 ID 코드와 같은 정보의 사용자 항목에 대한 템플릿을 만들 수 있습니다. 예를 들어 사용자가 PIDTemplate 속성을 다음과 같은 문자열로 설정하여 지정한 MaskedEdit 컨트롤을 통해 PIDKEY 속성을 입력할 수 있습니다.

12345<### -%%%%%%%>@@@@@

문자열은 사용자가 PIDKEY 속성의 항목에 대한 마스킹 템플릿을 정의합니다. 문자열에 표시되는 세그먼트는 대괄호(<>) 문자 쌍으로 묶입니다.

다음 표는 마스크의 구문을 식별합니다.

문자 의미
< 템플릿에 표시되는 세그먼트의 왼쪽 끝입니다. 이 문자와 왼쪽의 모든 항목은 사용자 인터페이스에서 숨겨집니다. 템플릿에 이 문자의 인스턴스가 하나만 있어야 합니다.
> 템플릿에 표시되는 세그먼트의 오른쪽 끝입니다. 이 문자와 오른쪽의 모든 항목은 사용자 인터페이스에서 숨겨집니다. 이 문자는 유효성 검사 중에 대시로 대체됩니다. 표시되는 세그먼트가 <(으)로 시작하는 경우 일치하는 >(으)로 종료되어야 합니다.
# 이 문자는 숫자(번호)일 수 있습니다.
% 이 문자는 마스크가 사용자 지정 작업에서 필드를 구분하는 방식을 제어하도록 하는 대체 숫자(번호)일 수 있습니다.
@ 이 문자는 임의의 숫자(번호)일 수 있습니다. 이 문자는 템플릿의 표시 부분에 나타나지 않아야 합니다.
& 이 문자는 임의의 문자일 수 있습니다.
^ 이 문자는 마스크가 사용자 지정 작업에서 필드를 구분하는 방식을 제어하도록 하는 대체 문자일 수 있습니다.
? 이 문자는 마스크가 사용자 지정 작업에서 필드를 구분하는 방식을 제어하도록 하는 대체 문자일 수 있습니다.
` 그레이브 액센트 표시 `(ASCII 값 96)는 사용자 지정 작업에서 필드를 구분하는 방식을 제어하도록 하는 대체 문자를 나타낼 수 있습니다.
_ 이 문자는 리터럴 밑줄 문자입니다.
= 이 문자는 필드 종결자입니다. #, %, ^ 또는 ` 뒤에 와야 합니다. 이렇게 하면 이전 위치와 동일한 형식의 입력 위치가 하나 더 생성되고 '-' 구분 기호로 필드가 종료됩니다.

 

다른 문자는 리터럴 상수로 처리됩니다.

편집할 수 있는 문자의 경우 컨트롤은 동일한 종류의 연속 문자 블록마다 하나의 창이 있는 별도의 편집 창을 만듭니다.

컨트롤 특성

이벤트를 사용하는 특성 값을 변경하려면 EventMapping 테이블의 컨트롤 이벤트에 컨트롤을 구독하고 Attribute 열에 특성 식별자를 나열합니다. Event 열에 컨트롤 이벤트의 식별자를 입력합니다. MaskedEdit 컨트롤에서 다음 특성을 사용할 수 있습니다.

attribute 16진수 비트 설명
IndirectPropertyName 컨트롤과 연결된 간접 속성의 이름입니다. 간접 특성 비트가 설정된 경우 컨트롤은 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 간접 특성 비트가 설정된 경우 이 이름은 Control 테이블의 Property 열에 나열된 속성의 값이기도 합니다.
위치 대화 상자에서 컨트롤의 위치입니다. 컨트롤의 왼쪽 모서리에 있는 컨트롤 너비, 높이 및 좌표를 Control 테이블의 너비, 높이, X 및 Y 열에 입력합니다. 길이 및 거리에 설치 관리자 단위를 사용합니다.
PropertyName 이 컨트롤과 연결된 속성의 이름입니다. 간접 특성 비트가 설정되지 않은 경우 컨트롤은 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 이 특성은 Control 테이블의 Property 열에 지정됩니다.
PropertyValue 이 컨트롤에 의해 표시되거나 변경된 속성의 현재 값입니다. 간접 특성 비트가 설정되지 않은 경우 PropertyName 값입니다. 간접 특성 비트가 설정된 경우 IndirectPropertyName 값입니다. 특성이 변경되면 컨트롤에 새 값이 반영됩니다.
Text 텍스트 문자열의 글꼴 및 글꼴 스타일을 설정하려면 표시된 문자의 문자열 앞에 {\style} 또는 {&style}을 접두사로 묶습니다. 여기서 style은 TextStyle 테이블의 Style 열에 나열된 식별자입니다. 둘 중 어느 것도 없지만 DefaultUIFont 속성이 유효한 텍스트 스타일로 정의된 경우 해당 글꼴이 사용됩니다. 마스킹 템플릿을 지정하는 문자열은 이 접두사 뒤에 오고 이 항목의 앞에서 설명한 구문을 사용합니다.
Visible 0x00000000 0x00000001
숨겨진 컨트롤입니다. 표시되는 컨트롤입니다.
Control 테이블의 Attributes 열 비트 단어에 이 비트를 포함하면 컨트롤을 만들 때 컨트롤이 표시되거나 숨겨집니다.
ControlCondition 테이블을 사용하여 컨트롤을 숨기거나 표시할 수도 있습니다.
Enabled 0x00000000 0x00000002
사용 안 함 상태의 컨트롤입니다. 사용 상태의 컨트롤입니다.
컨트롤을 만들 때 컨트롤을 사용하도록 설정하려면 Control 테이블의 Attributes 열에 있는 비트 단어에 이 비트를 포함합니다.
ControlCondition 테이블을 사용하여 컨트롤을 사용하거나 사용하지 않도록 설정할 수도 있습니다.
오목 0x00000000 0x00000004
기본 비주얼 스타일을 표시합니다. 오목한 3D 모양으로 컨트롤을 표시합니다.
Control 테이블의 Attributes 열 비트 단어에 이러한 비트를 포함합니다.
간접 0x00000000 0x00000008
컨트롤은 Control 테이블의 Property 열에 속성 값을 표시하거나 변경합니다. 컨트롤은 Control 테이블의 Property 열에 식별자가 나열된 속성의 값을 표시하거나 변경합니다.
이 컨트롤과 연결된 속성이 간접적으로 참조되는지 여부를 확인합니다.

 

설명

MaskedEdit 컨트롤은 BS_OWNERDRAWWS_EX_CONTROLPARENT 스타일을 사용하여 BUTTON 클래스의 부모 창 하나를 만듭니다. 이 창에 여러 자식 창을 만듭니다.

  • 상수 텍스트 부분의 경우 SS_LEFTWS_CHILD 스타일을 사용하여 STATIC 창을 만듭니다.
  • 편집 가능한 필드의 경우 WS_CHILD, WS_BORDERWS_TABSTOP 스타일을 사용하여 편집 창을 만듭니다.
  • 숫자 필드의 창에는 ES_NUMBER 스타일도 있습니다.

대체 숫자, %, 대체 영숫자 문자, ^, ? 및 ` 필드를 통해 사용자 지정 작업에서 마스크로 제어 가능한 방식으로 필드를 구분할 수 있습니다. 예를 들어 ^ 문자는 대문자여야 하는 필드에 사용할 수 있습니다.