텍스트 맞춤 설정
GetTextAlign 및 SetTextAlign 함수를 사용하여 디바이스 컨텍스트에 대한 텍스트 맞춤을 쿼리하고 설정할 수 있습니다. 텍스트 맞춤 설정은 지정된 위치를 기준으로 텍스트를 배치하는 방법을 결정합니다. 텍스트를 위치의 오른쪽이나 왼쪽에 맞추거나 가운데에 맞출 수 있습니다. 점 위 또는 아래에 정렬할 수도 있습니다.
다음 예제에서는 설정되는 가로 맞춤 플래그를 결정하는 메서드를 보여줍니다.
switch ((TA_LEFT | TA_RIGHT | TA_CENTER) & GetTextAlign(hdc))
{
case TA_LEFT:
.
.
.
case TA_RIGHT:
.
.
.
case TA_CENTER:
.
.
.
}
SetTextAlign 함수를 사용하여 텍스트 출력 함수가 호출되면 현재 위치를 업데이트할 수도 있습니다. instance 경우 다음 예제에서는 SetTextAlign 함수를 사용하여 TextOut 함수가 호출되면 현재 위치를 업데이트합니다. 이 예제에서 cArial 매개 변수는 Arial 글꼴 수를 지정하는 정수입니다.
UINT uAlignPrev;
char szCount[8];
HRESULT hr;
size_t * pcch;
uAlignPrev = SetTextAlign(hdc, TA_UPDATECP);
MoveToEx(hdc, 10, 50, (LPPOINT) NULL);
TextOut(hdc, 0, 0, "Number of Arial fonts: ", 23);
itoa(cArial, szCount, 10);
hr = StringCchLength(szCount, 9, pcch);
if (FAILED(hr))
{
// TODO: write error handler
}
TextOut(hdc, 0, 0, (LPSTR) szCount, *pcch);
SetTextAlign(hdc, uAlignPrev);
참고
선택한 텍스트가 올바르게 렌더링되지 않으므로 ScriptStringOut을 사용하는 경우 TA_UPDATECP SetTextAlign을 사용하면 안 됩니다. 이 플래그를 사용해야 하는 경우 문제를 방지하기 위해 필요에 따라 설정을 해제하고 다시 설정할 수 있습니다.