Graphisoft®

Dialog ManagerVersion: 2.0

탭 페이지

탭 페이지는 실제 다이얼로그는 아니지만 다이얼로그와 비슷한 기능을 가지고 있습니다. 이것들은 일반 및 단순 탭 컨트롤 페이지에 다이얼로그 항목들을 지정하는 역할을 합니다. 모든 탭 컨트롤에는 애플리케이션이 현재 탭 페이지를 표시하는 표시 영역이 있습니다.

탭 페이지는 리소스 스크립트 내 또는 프로그램 코드로부터 동적으로 탭 제어 항목에 할당될 수 있습니다. DGCreateTabPage를 사용하여 GRC 파일에 리소스로 정의된 탭 페이지를 만들거나 DGCreateBlankTabPage를 사용하여 DGAppendDialogItem 함수로 다이얼로그 항목들이 작성되는 빈 탭 페이지를 만들 수 있습니다. 탭 컨트롤에서 탭 항목을 제거하려면, 먼저 DGDestroyTabPage 함수를 사용하여 탭 페이지를 파괴해야 합니다.

GRC 파일에서 탭 페이지는 특수 GDLG 리소스로 정의됩니다. 탭 페이지 리소스에는 페이지의 크기와 다이얼로그 항목의 사양만 포함되어 있습니다. 애플리케이션이 DGModalDialog 또는 DGModelessInit 함수 호출 중에 탭 컨트롤을 만들거나, 애플리케이션이 DGCreateTabPage 함수를 호출할 때 이 리소스를 로드합니다. 탭 페이지에는 다이얼로그 콜백 함수가 없습니다; 탭 페이지의 다이얼로그 항목에 대한 메시지는 메인 다이얼로그의 콜백 함수(탭 컨트롤이 포함된 다이얼로그)로 전송됩니다. 그러나 이러한 메시지의 경우, 탭 페이지 서브 다이얼로그의 ID는 메인 다이얼로그의 ID 대신 dialId 파라미터 안의 콜백 함수로 전달됩니다.

탭 페이지들은 탭 제어의 표시 영역에 고정(anchor) 포인트 및 탭 페이지의 성장 타입에 따라 배치됩니다. 기본적으로 탭 페이지는 표시 영역에 집중됩니다. 탭 컨트롤 크기를 조정하는 동안 탭 페이지의 고정점이 탭 컨트롤 내 자기 자리를 유지하여 성장 타입에 따라 탭 페이지의 크기를 수정합니다. 고정점과 성장 타입은 DGSetTabPageFixPoint, DGSetTabPageGrowTypeDGGetTabPageFixPoint, DGGetTabPageGrowType 함수들을 이용하여 설정하거나 알아낼 수 있습니다. 탭 페이지의 크기는 DGSetTabPageSize 함수로 수정할 수 있습니다. DGGetTabPageSize를 사용하여 현재 크기를 알아냅니다. 메인 다이얼로그 좌표계에서 탭 페이지의 위치와 크기를 알아내려면 DGGetTabPageRect 함수를 사용하십시오. 탭 페이지는 리소스 스크립트에서 제공되거나 DGCreateBlankTabPage 함수의 프로그램 코드에서 주어진 크기인 최소 크기를 가집니다. 이 크기는 DGSetTabPageMinSizeDGGetTabPageMinSize 함수를 이용해 수정하거나 알아낼 수 있습니다.

GRC 사양

    'GDLG'  resID  TabPage  0  0  dx  dy  "" {
      dialogItem1
          ...
      dialogItemi
          ...
      dialogItemn
    }

여기서 resID는 탭 페이지의 리소스 ID입니다. dxdy 탭 페이지의 폭과 높이의 픽셀 크기입니다. dialogItemi (1 <= i <= n)은 다이얼로그 항목의 n 조각을 지정합니다. 다양한 다이얼로그 항목의 GRC 사양에 대해서는 DG 다이얼로그 항목들 페이지를 보십시오.

도움말 GRC 사양

탭 페이지의 다이얼로그 항목들은 문맥을 고려한 도움말 정보도 가질 수 있습니다. 탭 컨트롤 도움말 정보는 다른 다이얼로그 타입의 경우와 같이 DLGH 리소스로 설명될 수 있습니다. 문맥에 민감한 도움말에 대한 더 자세한 내용은 다음을 보십시오: 다이얼로그 도움말의 GRC 사양

설명

메인 다이얼로그의 콜백 함수로 전달된 탭 페이지 ID는 대개 GRC에서 정의된 ID와 동일하지만 특별한 경우 다를 수 있습니다. 예를 들어, 만약 다중 페이지 탭 컨트롤이 있는 Modeless 다이얼로그가 있는 경우 DG는 GRC에 주어진 탭 페이지 ID들을 콜백 함수로 전달합니다. 그러나 당신이 Modeless 다이얼로그의 다른 인스턴스를 원한다고 가정합니다. DG에서 모든 다이얼로그와 탭 페이지에는 고유한 ID가 있어야 하기 때문에, DG는 내부적으로 생성된 고유(네거티브) ID를 두 번째 다이얼로그와 탭 페이지에 할당합니다. 그 후에 생성합니다. 나중에 당신은 내부에서 생성된 ID로 이 다이얼로그와 탭 페이지들을 참조해야 합니다.

다이얼로그 콜백 함수에서 DG_MSG_INIT 메시지를 처리할 때 DGTabControlGetTabPageId 함수에 의해 탭 컨트롤의 탭 페이지 서브 다이얼로그의 ID를 가져올 수 있습니다. DGGetTabPageParentId를 사용하여 탭 페이지의 메인 다이얼로그의 ID를 가져옵니다.

참고사항

다이얼로그 타입, 콜백 함수, DG 메시지, 다이얼로그 항목 타입
DGCreateTabPage, DGCreateBlankTabPage, DGDestroyTabPage, DGSetTabPageSize, DGSetTabPageMinSize, DGTabControlGetTabPageId, DGGetTabPageParentId, DGAppendDialogItem, DGModalDialog, DGModelessInit
다이얼로그 도움말의 GRC 사양