Graphisoft®

Dialog ManagerVersion: 2.0

진행 바

진행 바는 애플리케이션이 긴 작업의 진행 상황을 시각적으로 표시하는 데 사용할 수 있는 창입니다. 이것은 진행 상황을 시스템 하이라이트 컬러로 서서히 채워지는 직사각형으로 구성되어 있습니다. 직사각형 길이에 비교하여 컬러 바의 길이는 동작이 완료된 백분율을 의미합니다.

진행 바는 범위와 현재 위치를 갖습니다. 범위는 동작의 전체 기간을 의미합니다. 왜냐하면 이 값들은 short integer로 표현되기 때문에, 가장 높은 범위 값과 현재 위치 값은 SHRT_MAX입니다. 컨트롤 자체는 진행 바의 백분율을 채우는 것을 결정하기 위해 범위와 현재 위치를 사용합니다.

만약 진행 바의 너비가 높이보다 크면 진행 정보가 수평으로 표시되고 진행 상태는 왼쪽에서 오른쪽으로 갑니다. 그렇지 않으면 진행 바는 수직으로 표시되고 진행 상태는 아래에서 위로 올라갑니다.

기본적으로 진행 바는 프레임 없이 그려지지만, 3가지 타입의 프레임을 가질 수 있습니다: static edge, client edge, modal frame.

    

항목 타입

DG_ITM_PROGRESSBAR

프레임 타입

프레임 타입 의미
DG_FT_STATIC 함몰 모서리를 가진 얇은 3차원 경계입니다.   
DG_FT_CLIENT 함몰 모서리를 가진 두꺼운 3차원 경계입니다.   
DG_FT_MODAL 돌출 모서리를 가진 두꺼운 3차원 경계입니다.   

GRC 사양

    ProgressBar    x  y  dx  dy  min  max  [frameType]

xy는 진행 바의 좌상단 코너의 픽셀 좌표입니다. dxdy는 컨트롤의 너비와 높이의 픽셀 크기입니다. minmax는 진행 바의 초기 범위를 정의합니다. 만약 선택적인 frameType flag가 생략되면, 진행 바는 얇은 3차원 경계를 가지게 됩니다.

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

의미
StaticEdge DG_FT_STATIC 프레임 타입이 세트됩니다.
ClientEdge DG_FT_CLIENT 프레임 타입이 세트됩니다.
ModalFrame DG_FT_MODAL 프레임 타입이 세트됩니다.

수정 Flag

DGSetItemValLong, DGSetItemMinLong, DGSetItemMaxLong 함수들은 다이얼로그 콜백 함수에서 DG_MSG_INIT 메시지를 처리할 때 호출되는 경우를 제외하고는 진행 바의 수정 flag를 세트할 수 있습니다. 수정 flag의 상태를 가져오거나 리셋(지우기)하려면 DGModified 또는 DGResetModified를 사용하십시오.

설명

진행 바의 범위는 GRC 뿐만 아니라 DGSetItemMinLong and DGSetItemMaxLong 함수로 지정할 수 있습니다. 범위의 최소값은 0이고, 최대값은 SHRT_MAX입니다. 진행 바의 범위를 가져오려면 DGGetItemMinLongDGGetItemMaxLong을 사용하십시오. 현재 값은 DGSetItemValLongDGGetItemValLong으로 각각 세트하고 가져올 수 있습니다.

만약 범위 또는 값 설정 함수들이 호출되면, DG는 데이터의 일관성을 확인합니다. (minimum <= value <= maximum 조건이 참인지 아닌지) 만약 데이터가 일관성이 없으면 DG는 자동으로 조정합니다. 이 조정에 대한 자세한 것은 DGSetItemValLong, DGSetItemMinLong, DGSetItemMaxLong을 보십시오.

진행 바의 위치는 최소값과 최대값을 기반으로 현재 위치로부터 파생됩니다. 상대 위치는 다음 공식을 이용하여 계산됩니다: relative position = (value - minimum) / (maximum - minimum). Windows에서 만약 최소값과 최대값이 같으면, 진행 바는 비어 있습니다. 그러나 Macintosh에서는 이 경우 진행 바가 비활성화됩니다.

요구사항

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

참고사항

다이얼로그 항목 타입
DGGetItemMaxLong, DGGetItemMinLong, DGGetItemValLong, DGModified, DGResetModified, DGSetItemMaxLong, DGSetItemMinLong, DGSetItemValLong, 콜백 함수
DG_MSG_INIT