Graphisoft®

Dialog ManagerVersion: 2.0

경고

애플리케이션은 DG의 경고를 이용하여 사용자에게 오류, 경고 또는 정보 메시지를 표시할 수 있습니다. 경고에는 아이콘, 텍스트 필드 2개, 단추 3개까지 포함될 수 있습니다. 이 항목 중 일부는 누락될 수 있지만 적어도 하나의 텍스트 필드와 하나의 버튼이 있어야 합니다.

당신은 DGAlert, DGResAlert, DGResAlertParam 함수들로 경고를 호출할 수 있습니다. 이러한 함수들은 서로 비슷합니다. 유일한 차이점은 아이콘과 경고 및 버튼 텍스트들이 어떻게 지정되는가에 있습니다. DGAlert를 사용하여 애플리케이션은 런타임의 모든 경고 요소들을 함수의 파라미터로 정의해야 합니다. DGResAlertGALR 리소스들로부터 경고 데이터를 얻습니다. DGResAlertParam을 사용하면 런타임에 어느 정도는 경고의 내용을 부분적으로 GRC에서 지정할 수 있습니다.

아마도 DG 경고의 가장 중요한 특징은 주어진 모든 요소들을 포함하는 최소 크기로 자동으로 크기 조정된다는 것입니다. 1번째 및/또는 2번째 경고 텍스트가 하나의 줄에 다 들어가지 않는다면, DG는 자동으로 해당 텍스트를 더 많은 줄로 끊습니다. 물론, 이 텍스트들은 명시적인 라인 끊기도 포함할 수 있습니다. DG 경고의 기본 레이아웃은 아래 그림에 나와 있습니다.

    

GRC 사양

    'GALR'  resID  iconID  ["title"] {
      "largeText" (\)
      "smallText" (\)
      "button1"
      "button2"
      "button3"
    }

여기서 resID는 경고의 리소스 ID, iconID은 경고의 아이콘 리소스 ID입니다. 선택적 title 파라미터는 경고의 제목을 정의합니다. largeTextsmallText는 경고의 1번째 및 2번째 텍스트 필드의 텍스트입니다. 선 끝에 있는 백슬래시(\) 문자를 사용하여 이러한 문자열을 둘 이상의 라인으로 쓸 수 있습니다. button1, button2, button3은 버튼 텍스트입니다.

설명

DGResAlertDGResAlertParam은 동일한 GRC 사양을 사용합니다. 유일한 차이점은 DGResAlertParamGALR 리소스에서는 largeTextsmallText가 최대 4개의 "%s" 포맷 지정자(specifier)를 포함할 수 있다는 것입니다. 경고를 표시하기 전에, 이러한 포맷 지정자들은 DGResAlertParamparamText1, paramText2, paramText3, paramText4 파라미터로 외관 순서대로 대체됩니다.

만약 DGAlerticonID 파라미터 또는 GALR 리소스가 유효한 아이콘 리소스 ID인 경우, 경고는 리소스에서 로드된 커스텀 색상 아이콘을 표시합니다. 그러나 만약 이 파라미터가 다음의 특수 상수 중 하나인 경우, 경고 아이콘뿐만 아니라 경고의 타입 및 제목도 결정합니다.

iconID 경고 타입 의미 Macintosh 아이콘 Windows 아이콘
Error DG_ERROR Macintosh의 경우 Stop; Windows의 경우 Error
Information DG_INFORMATION Macintosh의 경우 Note; Windows의 경우 Information
Warning DG_WARNING Macintosh의 경우 Caution; Windows의 경우 Warning

DGAlerttitleText 파라미터가 NULL이거나 선택적 title 파라미터가 GALR 리소스에서 생략된 경우, 경고는 Macintosh에서는 제목이 없으며 Windows에서는 DG가 DGInit에서 주어진 적절한 표준 경고 제목을 사용합니다.

1번째 및 2번째 텍스트 필드의 텍스트는 각각 큰 보통 및 작은 보통 글꼴을 사용하여 그려집니다. DGAlertlargeText 또는 smallText 파라미터가 NULL이거나 해당 문자열이 GALR 리소스에서 비어 있는 경우("") 경고에는 1번째 또는 2번째 텍스트 필드가 없습니다. 그러나 두 텍스트 필드가 모두 경고에서 누락되어서는 안 됩니다.

DGAlertbutton1Text, button2Text 또는 button3Text 파라미터가 NULL이거나 button1, button2 또는 button3 문자열이 빈 경우(""), GALR 리소스에는 각각 제1, 제2 또는 제3 버튼이 없다. 그러나 경고에는 1개 이상의 버튼이 있어야 합니다.

표준 DG 경고들은 콜백 함수들이 필요하지 않습니다.

참고사항

다이얼로그 타입, 콜백 함수, DGAlert, DGResAlert, DGResAlertParam, DGInit