Graphisoft®

Dialog ManagerVersion: 2.0

정적 텍스트

정적 텍스트 컨트롤은 다이얼로그에 텍스트를 표시하는 편리한 방법을 제공합니다. 때때로 다른 컨트롤을 위한 라벨 역할을 합니다.

정적 텍스트 컨트롤은 기본적으로 3가지 타입이 있습니다: left 텍스트, center 텍스트, right 텍스트 컨트롤. 정적 텍스트 컨트롤의 텍스트는 가로/세로 방향 모두 정렬이 가능합니다. 또한 텍스트가 컨트롤 직사각형에 맞지 않으면, DG는 중간에서 생략 문자를 사용하거나 끝 부분에서 텍스트를 절단할 수 있습니다.

기본적으로 정적 텍스트 컨트롤은 프레임 없이 표시됩니다. 그러나 3가지 타입의 프레임을 가질 수 있습니다: static edge, client edge, modal frame.

    

항목 타입

DG_ITM_STATICTEXT

서브 타입

서브 타입 의미
DG_IS_LEFT 텍스트가 왼쪽 정렬입니다.
DG_IS_CENTER 텍스트가 가로 방향으로 중앙입니다.
DG_IS_RIGHT 텍스트가 오른쪽 정렬입니다.

Flag

정적 텍스트 컨트롤의 flag는 아래에 나오는 수직 정렬과 절단 flag를 조합하여 표현할 수 있습니다:
 
의미
DG_IS_VTOP 텍스트가 위로 정렬됩니다.
DG_IS_VCENTER 텍스트가 세로 방향으로 중앙입니다.
DG_IS_VBOTTOM 텍스트가 아래로 정렬됩니다.
의미
DG_IS_NOTRUNC 절단 없음.
DG_IS_TRUNCEND 끝 부분을 자릅니다.
DG_IS_TRUNCMIDDLE 중간 부분을 자르고 생략 문자로 표시합니다. (텍스트 양끝에는 동일한 수의 문자를 남겨둠)

프레임 타입

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

GRC 사양

    LeftText      x  y  dx  dy  fontSpec  [textFlag]  [frameType]  "text"
    CenterText    x  y  dx  dy  fontSpec  [textFlag]  [frameType]  "text"
    RightText     x  y  dx  dy  fontSpec  [textFlag]  [frameType]  "text"

여기서 xy는 정적 텍스트 컨트롤의 좌상단 모서리의 픽셀 좌표이고, dxdy는 컨트롤의 폭과 높이의 픽셀 크기입니다. fontSpec은 컨트롤 text의 글꼴 크기 및 스타일을 선언합니다. 선택적 textFlag 파라미터는 수직 정렬과 절단 flag의 OR(|) 조합입니다. 만약 이 파라미터가 생략되면 텍스트가 상단에 정렬되고 절단이 적용되지 않습니다. 선택적 frameType flag가 생략되면 프레임 없이 정적 텍스트 컨트롤이 표시됩니다.

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

DG 상수 조합은 DGSetItemFont에서 사용됩니다.
ExtraSmall DG_IS_EXTRASMALL
SmallPlain DG_IS_SMALL | DG_IS_PLAIN
SmallBold DG_IS_SMALL | DG_IS_BOLD
SmallItalic DG_IS_SMALL | DG_IS_ITALIC
SmallUnderline DG_IS_SMALL | DG_IS_UNDERLINE
LargePlain DG_IS_LARGE | DG_IS_PLAIN
LargeBold DG_IS_LARGE | DG_IS_BOLD
LargeItalic DG_IS_LARGE | DG_IS_ITALIC
LargeUnderline DG_IS_LARGE | DG_IS_UNDERLINE

수직 정렬 flag의 가능한 값은 다음과 같습니다:

의미
vTop DG_IS_VTOP flag가 세트되었습니다.
vCenter DG_IS_VCENTER flag가 세트되었습니다.
vBottom DG_IS_VBOTTOM flag가 세트되었습니다.

절단 flag의 가능한 값은 다음과 같습니다:

의미
noTrunc DG_IS_NOTRUNC flag가 세트되었습니다.
truncEnd DG_IS_TRUNCEND flag가 세트되었습니다.
truncMiddle DG_IS_TRUNCMIDDLE flag가 세트되었습니다.

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

의미
Default DG_FT_NONE 프레임 타입이 세트되었습니다.
StaticEdge DG_FT_STATIC 프레임 타입이 세트되었습니다.
ClientEdge DG_FT_CLIENT 프레임 타입이 세트되었습니다.
ModalFrame DG_FT_MODAL 프레임 타입이 세트되었습니다.

제안된 크기

다음 항목 높이 값들은 정적 텍스트 컨트롤을 위해 제안될 수 있습니다:
 
글꼴 크기 항목 높이 (픽셀 단위)
DG_IS_EXTRASMALL 12
DG_IS_SMALL 14
DG_IS_LARGE 16
 
만약 정적 텍스트 컨트롤이 프레임을 갖고 있다면, 프레임 직사각형에 대해 충분한 공간을 만들기 위해 위의 값에서 4 픽셀을 증가시키십시오.

메시지

메시지 의미
DG_MSG_CLICK 정적 텍스트 컨트롤을 클릭했습니다. 메시지 데이터 파라미터는 항상 0입니다.
DG_MSG_DOUBLECLICK 정적 텍스트 컨트롤을 더블 클릭했습니다. 메시지 데이터 파라미터는 항상 0입니다.

설명

정적 텍스트 컨트롤의 텍스트는 각각 DGSetItemText, DGCatItemText, DGGetItemText에 의해 설정, 변경 및 가져올 수 있습니다. 컨트롤은 DG 글꼴 중 하나로 텍스트를 표시할 수 있습니다. 글꼴은 GRC 뿐만 아니라 DGSetItemFont 함수로 지정할 수 있습니다. DGGetItemFont를 사용하여 현재 정적 텍스트 컨트롤에 할당된 글꼴을 알아낼 수 있습니다.

정적 텍스트 컨트롤에는 여러 줄의 텍스트가 포함될 수 있습니다. 만약 절단이 지정되지 않고 텍스트가 컨트롤 직사각형에 수평으로 맞지 않으면, DG는 자동으로 단어 경계 상에서 여러 라인으로 절단합니다. 수직으로 부분적인 라인들은 표시되지 않으므로 컨트롤이 완전히 표시할 수 있을만큼 높을 경우에만 두 번째 및 추가 라인들을 볼 수 있습니다. 텍스트는 new line (\n) 문자를 삽입하여 명시적으로 더 많은 라인으로 분할할 수 있습니다.

절단이 지정되면 상황은 약간 달라집니다. 우선 DG는 컨트롤의 직사각형에 표시할 수 있는 전체 높이 라인 수를 계산합니다. 그 다음엔 중간에서 줄임 문자로, 또는 끝 부분을 잘라냅니다. 마지막으로 획득된 텍스트는 지정된 수평 및 수직 정렬에 따라 행끝에 맞춰 자간을 조정합니다.

때때로 정적 텍스트로 컨트롤에 라벨을 지정할 때, 두 컨트롤의 높이를 동일한 값으로 설정하고 GRC 내 정적 텍스트에 vCenter 정렬 flag를 할당하는 것이 좋습니다. 이렇게 하면 정적 텍스트는 라벨이 지정된 컨트롤에 수직으로 중심이 됩니다.

요구사항

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

참고사항

다이얼로그 항목 타입
DGCatItemText, DGGetItemFont, DGGetItemText, DGSetItemFont, DGSetItemText