TextOut 와 DrawText (문자열 출력 + SetTextAlign)
문자열 출력 함수 두가지
* TextOut
- 도스의 cout, printf 에 해당하는 함수
- 함수 원형: BOOL TextOut(hdc, nXStart, nYStart, lpszString, cbString)
* SetTextAlign
- 텍스트 정렬 상태를 변경하는 함수
- 함수 원형: UINT SetTextAlign(HDC hdc,UINT fMode);
- 두번째 인수 fMode에 대입 가능한 값(TextOut 함수의 x,y 좌표를 기준으로 정렬 변경)
1) TA_TOP: 기준 좌표가 상단 좌표
2) TA_BOTTOM: 기준 좌표가 하단 좌표
3) TA_CENTER: 기준 좌표가 수평 중앙 좌표
4) TA_LEFT: 기준 좌표가 수평 왼쪽 좌표
5) TA_RIGHT: 기준 좌표가 수평 오른쪽 좌표
6) TA_UPDATECP: 기준좌표를 CP위치로 변경
7) TA_NOUPDATECP: CP 변경 없이 기준좌표만 사용
* DrawText
- TextOut + SetTextAlign 을 합쳐놓은 함수
- 함수 원형: int DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat );
- 세번째 인수 int nCount: 출력 문자열 길이(값을 -1로 넣으면 널 종료 문자열 처리)
- 네번째 인수 LPRECT lpRect: RECT구조체
- 다섯번째 인수 UINT uFormat: 문자열 정렬 방법
1) DT_LEFT: 수평 왼쪽 정렬
2) DT_RIGHT: 수평 오른쪽 정렬
3) DT_CENTER: 수평 중앙 정렬
4) DT_BOTTOM: 사각 영역(RECT) 바닥에 문자열 출력
5) DT_VCENTER: 사각 영역 수직 중앙에 문자열 출력
6) DT_WORDBREAK: 사각 영역 오른쪽 끝에서 자동 개행
7) DT_SINGLELINE: 한줄 출력
8) DT_SOCLIP: 사각 영역을 벗어나도 잘리지 않고 출력
- 예시) DrawText(hdc,str,-1,&rt,DT_CENTER | DT_WORDBREAK);
* TextOut
- 도스의 cout, printf 에 해당하는 함수
- 함수 원형: BOOL TextOut(hdc, nXStart, nYStart, lpszString, cbString)
* SetTextAlign
- 텍스트 정렬 상태를 변경하는 함수
- 함수 원형: UINT SetTextAlign(HDC hdc,UINT fMode);
- 두번째 인수 fMode에 대입 가능한 값(TextOut 함수의 x,y 좌표를 기준으로 정렬 변경)
1) TA_TOP: 기준 좌표가 상단 좌표
2) TA_BOTTOM: 기준 좌표가 하단 좌표
3) TA_CENTER: 기준 좌표가 수평 중앙 좌표
4) TA_LEFT: 기준 좌표가 수평 왼쪽 좌표
5) TA_RIGHT: 기준 좌표가 수평 오른쪽 좌표
6) TA_UPDATECP: 기준좌표를 CP위치로 변경
7) TA_NOUPDATECP: CP 변경 없이 기준좌표만 사용
* DrawText
- TextOut + SetTextAlign 을 합쳐놓은 함수
- 함수 원형: int DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat );
- 세번째 인수 int nCount: 출력 문자열 길이(값을 -1로 넣으면 널 종료 문자열 처리)
- 네번째 인수 LPRECT lpRect: RECT구조체
- 다섯번째 인수 UINT uFormat: 문자열 정렬 방법
1) DT_LEFT: 수평 왼쪽 정렬
2) DT_RIGHT: 수평 오른쪽 정렬
3) DT_CENTER: 수평 중앙 정렬
4) DT_BOTTOM: 사각 영역(RECT) 바닥에 문자열 출력
5) DT_VCENTER: 사각 영역 수직 중앙에 문자열 출력
6) DT_WORDBREAK: 사각 영역 오른쪽 끝에서 자동 개행
7) DT_SINGLELINE: 한줄 출력
8) DT_SOCLIP: 사각 영역을 벗어나도 잘리지 않고 출력
- 예시) DrawText(hdc,str,-1,&rt,DT_CENTER | DT_WORDBREAK);
댓글
댓글 쓰기