Graphisoft®

Dialog ManagerVersion: 2.0

팝업 컨트롤

Macintosh에서 팝업 컨트롤은 표준 시스템 팝업 메뉴입니다. 반면 Windows에서는 편집 불가 스타일의 시스템 콤보 박스입니다.

    

항목 타입

DG_ITM_POPUPCONTROL

GRC 사양

    PopupControl    x  y  dx  dy  listHeight  textOffset
                    [iconID1  itemText1]
                           ....
                    [iconIDi  itemTexti]
                           ....
                    [iconIDn  itemTextn]

여기서 xy는 팝업 컨트롤의 좌상단 모서리의 픽셀 좌표입니다. dxdy는 컨트롤의 폭과 높이의 픽셀 크기입니다. listHeighttextOffset는 선택사항이 아닙니다. 그러나 이것들은 Windows에서만 사용됩니다. listHeight는 드롭다운 리스트의 픽셀 높이입니다. textOffset은 왼쪽 기준으로 팝업 항목들의 텍스트의 픽셀 오프셋입니다. 만약 선택적인 iconIDiitemTexti (1 <= i <= n) 파라미터들이 존재한다면, 이것들은 팝업 항목들의 n 조각들을 초기화합니다. iconIDiitemTexti는 각각 i번째 팝업 항목의 아이콘과 (2개의 따옴표 마크 사이에 주어진) 텍스트를 정의합니다. 비록 iconIDiitemTexti 파라미터들이 선택이지만 한 쌍 모두 사용되거나 생략되어야 합니다. 예를 들면, iconIDi 또는 itemTexti 홀로 사용될 수 없습니다.

iconIDi의 가능한 값은 다음과 같습니다:

의미
NoIcon 팝업 항목은 아이콘이 없습니다.
257 <= iconID <= 511 팝업 항목은 리소스에 주어진 아이콘을 갖고 있습니다.

메시지

메시지 의미
DG_MSG_CHANGE 팝업 컨트롤 내의 선택된 항목이 바뀌었습니다. 메시지 데이터는 이전에 선택된 팝업 항목의 1-기반 인덱스를 포함합니다.

수정 Flag

DGPopUpSelectItem 함수는 다이얼로그 콜백 함수에서 DG_MSG_INIT 메시지를 처리할 때 호출되는 경우를 제외하고 팝업 컨트롤의 수정 flag를 설정합니다. flag는 또한 DG_MSG_CHANGE 메시지를 생성하는 사용자 액션에 의해 설정될 수 있다. 수정 flag의 상태를 알아내거나 재설정(지우기)하려면 DGModified 또는 DGResetModified를 사용하십시오.

설명

팝업 컨트롤에는 일반 항목과 구분자 팝업 항목이 포함될 수 있습니다. DGPopUpInsertItemDGPopUpInsertSeparator를 호출하여 팝업 컨트롤에 일반 항목 및 구분자 항목을 삽입하거나, DGPopUpDeleteItem를 호출하여 둘 다 지울 수 있습니다. 팝업 컨트롤에 있는 현재 항목 수는 DGPopUpGetItemCount로 가져올 수 있습니다.

팝업 항목은 아이콘 그리고/또는 항목 텍스트가 있을 수 있습니다. 팝업 항목의 아이콘을 설정하는 방법은 2가지가 있습니다. 한 가지 가능성은 DGPopUpSetItemIcon으로 아이콘 핸들을 가진 아이콘을 지정하는 것이고, 다른 하나는 DGPopUpSetItemIconId 또는 DGPopUpSetItemIconResource를 이용하여 리소스와 함께 설정하는 것입니다. 아이콘 핸들은 DGPopUpGetItemIcon으로 가져올 수 있고, 아이콘 ID와 아이콘의 리소스 모듈 ID는 DGPopUpGetItemIconIdDGPopUpGetItemIconResource로 가져올 수 있습니다. DGPopUpSetItemTextDGPopUpGetItemText는 팝업 항목의 텍스트를 지정하고 가져오는 역할을 합니다. 아이콘은 항상 항목 텍스트의 왼쪽에 있습니다. Macintosh에서 항목 텍스트는 아이콘이 없는 경우 왼쪽에 렌더링됩니다. 그러나 Windows에서 텍스트는 GRC의 textOffset 파라미터에 의해 주어진 위치를 유지합니다. 구분자 라인은 아이콘이나 항목 텍스트가 포함될 수 없습니다.

각 팝업 항목의 텍스트 스타일과 상태는 각각 DGPopUpSetItemStyleDGPopUpSetItemStatus로 변경할 수 있습니다. 이러한 팝업 항목 속성들을 가져오려면 각각 DGPopUpGetItemStyleDGPopUpGetItemStatus를 사용하십시오. 각 팝업 항목에는 항목별 사용자 데이터를 저장하는 데 사용할 수 있는 사용자 정의 값이 있을 수 있습니다. DGPopUpSetItemUserDataDGPopUpGetItemUserData는 이 값에 접근할 수 있습니다.

사용자는 마우스 또는 키누름에 의해 일반적인 방법으로 현재 (선택된) 팝업 항목을 변경할 수 있습니다. 프로그램 코드에서 선택한 팝업 항목을 변경하거나 가져오려면 각각 DGPopUpSelectItem 또는 DGPopUpGetSelected를 호출하십시오. DG 버전 1.1.1 이전에는 이러한 함수들을 사용할 수 없습니다. 대신 DGSetItemValLongDGGetItemValLong을 사용하십시오.

더 많은 일반 그리고/또는 구분자 팝업 항목을 삽입되거나 삭제할 경우, 원치 않는 화면 업데이트를 피하기 위해 DGPopUpDisableDrawDGPopUpEnableDraw 같은 함수 호출을 같이 포함시키는 것이 좋습니다. DGPopUpEnableDraw 자체가 팝업 컨트롤을 업데이트하지 않기 때문에 DGInvalidateItem 또는 DGRedrawItem를 호출해야 합니다.

드롭다운 리스트의 폭은 팝업 항목들 중 가장 긴 문자열의 길이에 따라 달라집니다. 만약 드롭다운 목록이 가장 긴 팝업 항목을 표시할 만큼 넓지 않으면 자동으로 확장됩니다.

Windows logo Windows 전용:

시스템 콤보 박스의 높이는 그 글꼴에 의해 결정됩니다. DG는 항목의 높이가 GRC에 지정된 크기와 같도록 이 기본 높이를 수정합니다.
 
GRC 사양의 listHeight 파라미터는 드롭다운 리스트의 픽셀 높이를 정의합니다. 전체 팝업 항목들만 표시하도록 시스템에 의해 리스트가 자동으로 단축됩니다. 만약 리스트가 모든 팝업 항목을 한꺼번에 표시할 만큼 크지 않으면 수직 스크롤 막대가 나타납니다.

요구사항

버전: DG 2.0.0 또는 이후
헤더: DG.h

참고사항

다이얼로그 항목 타입
팝업 컨트롤 지정 함수, DGGetItemValLong, DGInvalidateItem, DGModified, DGRedrawItem, DGResetModified, DGSetItemValLong, 콜백 함수
DG_MSG_CHANGE, DG_MSG_INIT