Graphisoft®

API Development KitVersion: 18

.grc 파일에서 유저 컨트롤이 요구하는 포맷이 무엇인가요?

.grc 파일에서 UserControl 항목들이 요구하는 포맷은 항상 두통을 유발합니다. 이 문서에서는 UserControl 정의 배후에 있는 서로 다른 숫자들의 의미를 설명할 것입니다. 타입별로 보도록 하겠습니다. 예제들은 DevKit의 일부인 DG_Test로부터 대부분 가져왔습니다.

 

UserControl 257

이 컨트롤은 특수 컨트롤들의 집합입니다; 이것은 외형적으로는 너무 다르지만 기능적으로는 비슷한 컨트롤들을 캡슐화하였습니다. 기본적으로 이 컨트롤은 클릭했을 때 팔레트가 튀어나오는 버튼으로 구성되어 있습니다. 버튼의 내용은 사용자가 팔레트 위로 마우스를 갖다 댔을 때 업데이트 됩니다.

예제: material, pen, layer palette pop-up.

이 컨트롤의 일반적인 포맷은 다음과 같습니다:

UserControl   87 82 33 19 257   0x0001   0x1100   0   /* Line Pen Setting */

이제 '숫자들'을 하나씩 보겠습니다:

항목 설명 예제
UserControl 다이얼로그 항목의 타입  
87 82 33 19 항목의 사각형 (top, left, width, height)  
257 사용자 컨트롤의 타입  
0x0001 사용자 컨트롤의 서브타입을 정의합니다. (UCDefs.h에서 T257_로 시작하는 상수들을 보세요) 0x0001T257_PEN입니다. 그래서 이것은 펜 컨트롤입니다.
0x1100 상위 바이트는 사용자 컨트롤의 외형을 수정합니다. (UCDefs.h에서 CS257_로 시작하는 상수들을 보세요)
참고: 모든 타입의 컨트롤에게 모든 flag들이 유효하지 않습니다.
하위 바이트는 항상 00입니다.
0x11CS257_HEADER | CS257_SMALLFONT입니다. 그래서 팝업 팔레트가 헤더를 갖게 됩니다. 그리고 메뉴 항목들과 헤더는 작은 애플리케이션 글꼴을 사용하게 됩니다.
0 텍스트 팝업에만 사용됩니다. T257_TEXTT257_MENU; 이것은 메뉴 항목들을 포함하는 'STR#' 리소스의 id를 포함합니다.
참고: Dialog Manager의 버그로 인해 이것은 현재 사용할 수 없습니다.
 

 

UserControl 258

이 컨트롤은 아이콘-기반 컨트롤입니다. 지정된 리소스에서 나오는 아이콘이 평평하게 배치됩니다.

예제: library browser의 type selector.

이 컨트롤의 일반적인 포맷은 다음과 같습니다:

UserControl   12  8  30  28  258  2  14  0  2  32510

이제 '숫자들'을 하나씩 보겠습니다:

항목 설명 예제
UserControl 다이얼로그 항목의 타입  
12 8 30 28 항목의 사각형 (top, left, width, height)  
258 사용자 컨트롤의 타입  
2 당신이 보고자 하는 아이콘들의 행(row) 수를 지정합니다.  
14 아이콘들의 총 수를 알려줍니다.  
0 항상  
2 사용자 컨트롤의 외형을 수정합니다. (UCDefs.h에서 CS258_로 시작하는 상수들을 보세요) 2CS258_MOUSEPOSOPEN입니다. 그래서 팝업 팔레트는 마우스 위치에 상대적으로 나타나게 됩니다. (컨트롤의 사각형과 대조적)
32510 아이콘 리소스의 id; 아이콘 모두를 포함합니다.  

 

UserControl 259

이 컨트롤은 아이콘-기반 팝업 컨트롤입니다. 지정된 리소스에서 나오는 아이콘이 팝업 팔레트 위에 나타납니다.

예제: 컨트롤 박스 위에서 그룹 선택자를 일시 중지시킵니다.

이 컨트롤의 일반적인 포맷은 다음과 같습니다:

UserControl   12  8  66 22  259  1  3  0  0  32520

이제 '숫자들'을 하나씩 보겠습니다:

항목 설명
UserControl 다이얼로그 항목의 타입
12 8 30 28 항목의 사각형 (top, left, width, height)
259 사용자 컨트롤의 타입
1 당신이 보고자 하는 아이콘들의 행(row) 수를 지정합니다.
3 아이콘의 총 수를 알려줍니다.
0 항상
0 항상
32510 아이콘 리소스의 id; 모든 아이콘을 포함합니다. 이 아이콘은 개별 아이콘들을 만들기 위해 조각들로 절단됩니다.

 

UserControl 261

이 컨트롤은 라인 타입 팝업 컨트롤입니다. 버튼의 내용은 사용자가 마우스를 팔레트 위로 갖다댔을 때 업데이트됩니다. 이 컨트롤의 특수성은 서버 애플리케이션을 콜백하여 라인 타입을 컨트롤에 그리는 것입니다.

예제: 모든 라인 타입 팝업

이 컨트롤의 일반적인 포맷은 다음과 같습니다:

UserControl   55 33 180 40  261   0x0100   /* Fill Line type */

이제 '숫자들'을 하나씩 보겠습니다:

항목 설명 예제
UserControl 다이얼로그 항목의 타입  
12 8 30 28 항목의 사각형 (top, left, width, height)  
261 사용자 컨트롤의 타입  
0x0100 상위 바이트는 사용자 컨트롤의 외형을 변경합니다. (UCDefs.h에서 CS261_로 시작하는 상수들을 보세요) 하위 바이트는 항상 00입니다. 0x01CS261_HEADER입니다. 그래서 팝업 팔레트가 헤더를 갖게 됩니다.