다음을 통해 공유


ComboBox 컨트롤

ComboBox 컨트롤에는 미리 정의된 값의 드롭다운 목록과 사용자가 값을 입력할 수 있는 편집 필드가 표시됩니다. 이 컨트롤을 문자열 또는 정수 속성과 연결하려면 Control 테이블속성 열에 속성 이름을 입력합니다.

컨트롤 특성

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

특성 식별자 16진수 비트 묘사
IndirectPropertyName 컨트롤과 연결된 간접 속성의 이름입니다. 간접 특성 비트가 설정되면 컨트롤이 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 간접 특성 비트가 설정된 경우 이 이름은 Control 테이블속성 열에 나열된 속성의 값이기도 합니다.
위치 대화 상자에서 컨트롤의 위치입니다. 컨트롤의 왼쪽 모서리에 있는 컨트롤의 너비, 높이 및 좌표를 Control 테이블Width, Height, X 및 Y 열에 입력합니다. 길이 및 거리에 설치 관리자 단위를 사용합니다.
PropertyName 이 컨트롤과 연결된 속성의 이름입니다. 간접 특성 비트가 설정되지 않은 경우 컨트롤은 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 이 특성은 Control 테이블속성 열에 지정됩니다.
PropertyValue 이 컨트롤에 의해 표시되거나 변경된 속성의 현재 값입니다. 간접 특성 비트가 설정되지 않은 경우 PropertyName 값입니다. Indirect 특성 비트가 설정된 경우 IndirectPropertyName 값입니다. 특성이 변경되면 컨트롤에 새 값이 반영됩니다.
텍스트 텍스트 문자열의 글꼴 및 글꼴 스타일을 설정하려면 표시된 문자의 문자열 앞에 {\style} 또는 {&style}을 접두사로 묶습니다. 여기서 스타일은 TextStyle 테이블의 TextStyle 열에 나열된 식별자입니다. 둘 다 존재하지 않지만 DefaultUIFont 속성이 유효한 텍스트 스타일로 정의된 경우 해당 글꼴이 사용됩니다. 사용자가 입력할 수 있는 문자 수를 지정하려면 글꼴 사양에 {n}을(를) 추가합니다. 여기서 n은 양의 정수입니다.
표시 0x00000000 0x00000001
숨겨진 컨트롤입니다. 표시 컨트롤입니다.
컨트롤을 만들 때 표시되거나 숨겨지도록 Control 테이블 특성 열의 비트 단어에 이 비트를 포함합니다.
ControlCondition 테이블사용하여 컨트롤을 숨기거나 표시할 수도 있습니다.
사용 0x00000000 0x00000002
사용 안 함 상태의 컨트롤입니다. 사용 상태의 컨트롤입니다.
만들 때 컨트롤을 사용하도록 설정하려면 Control 특성 열의 비트 단어에 이 비트를 포함합니다.
ControlCondition 테이블사용하여 컨트롤을 사용하거나 사용하지 않도록 설정할 수도 있습니다.
침몰 0x00000000 0x00000004
기본 비주얼 스타일을 표시합니다. 침몰한 3차원 모양으로 컨트롤을 표시합니다.
Control 테이블특성 열의 비트 단어에 이러한 비트를 포함합니다.
간접 0x00000000 0x00000008
컨트롤이 Control 테이블속성 열에 있는 속성 값을 표시하거나 변경합니다. 컨트롤은 컨트롤 테이블의 속성 열에 식별자가 나열된 속성 값을 표시하거나 변경합니다.
이 컨트롤과 연결된 속성이 간접적으로 참조되는지 여부를 확인합니다.
정수 0x00000000 0x00000010
컨트롤과 연결된 속성은 문자열 값입니다. 컨트롤과 연결된 속성은 정수 값입니다.
컨트롤을 만들 때 이 특성을 설정하려면 Control 테이블 특성 열의 비트 단어에 이 비트를 포함합니다.
RTLRO 0x00000000 0x00000020
컨트롤의 텍스트는 왼쪽에서 오른쪽 읽기 순서로 표시됩니다. 컨트롤의 텍스트는 오른쪽에서 왼쪽으로 읽기 순서로 표시됩니다.
rightAligned 0x00000000 0x00000040
컨트롤의 텍스트가 왼쪽에 맞춰집니다. 컨트롤의 텍스트가 오른쪽에 맞춰집니다.
leftScroll 0x00000000 0x00000080
스크롤 막대는 컨트롤의 오른쪽에 있습니다. 스크롤 막대는 컨트롤의 왼쪽에 있습니다.
BiDi 0x000000E0 이 값은 RTLRO, rightAligned 및 leftScroll 특성 조합하여 설정합니다.
정렬된 0x00010000 설정 안 했습니다.
사전순으로 표시되는 항목입니다. ListView 테이블에 지정된 순서대로 표시되는 항목은.
컨트롤은 ComboBox 테이블쿼리하고 정렬된 스타일 비트가 설정되면 ComboBox CBS_SORT 스타일을 가지며 Ordering에서 지정한 대로 항목을 표시합니다. 이 스타일 비트를 설정하지 않으면 항목이 사전순으로 표시됩니다.
ComboList 0x00020000 설정 안 했습니다.
편집 필드가 있는 콤보 상자입니다. 편집 필드가 있는 콤보 상자는 정적 텍스트 필드로 대체됩니다.
usersLanguage 0x00000000 0x00100000
데이터베이스 코드 페이지에서 만든 글꼴입니다. 사용자의 기본 UI 코드 페이지에서 만든 글꼴입니다.

발언

이 컨트롤은 CreateWindowEx 함수를 사용하여 COMBOBOX 클래스에서 만들 수 있습니다. CBS_AUTOHSCROLL, WS_TABSTOP, WS_GROUPWS_CHILD 스타일이 있습니다. ComboList 비트가 켜진 경우 CBS_DROPDOWNLIST 스타일도 포함되고, 그렇지 않으면 CBS_DROPDOWN 스타일이 있습니다.

입력할 수 있는 텍스트의 길이는 컨트롤 테이블텍스트 필드의 시작 부분에 0에서 2147483646 중괄호로 배치하여 제한할 수 있습니다. 예를 들어 텍스트 필드가 {80}시작하는 경우 문자열 길이는 80자로 제한됩니다. 테이블에 이러한 제한이 제공되지 않거나 0이 지정되면 길이가 가능한 최대 문자(2147483646 문자)로 설정됩니다. 음수 또는 숫자가 아닌 값은 오류를 생성합니다.

화면 읽기 프로그램과의 호환성을 위해 ComboBox 컨트롤을 첫 번째 활성 컨트롤로 사용하여 대화 상자를 작성할 때 편집 필드에 속하는 텍스트 필드를 대화 상자 테이블의 첫 번째 활성 컨트롤로 만들어야. 정적 텍스트는 포커스를 가져올 수 없으므로 대화 상자를 만들 때 편집 필드에는 처음에 의도한 대로 포커스가 있습니다. 이렇게 하면 화면 읽기 프로그램이 올바른 정보를 표시합니다.