문자열 출력

Programming/API 2015. 6. 8. 13:59

BOOL  TextOut(HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString);

 

1. HDC hdc

- DC의 핸들

2. int nXStrat, int nYStart

- 문자열 출력될 좌표

3. LPCTSTR lpString

- 출력할 문자열을 담고있는 문자열 포인터

4. int cbString

- 출력할 문자열의길이

- lstrlen함수로 문자열의 길이를 알수있다.

 

TextOut은 한줄만 출력할 수 있다.

 

 

int DrawText(HDC hdc, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);

- 많은 문자열을 출력하기 위한 함수

 

이 함수는 사각영역을 정의하여 영역 안에 문자열을 출력할 수 있으며 여러 가지 포맷을 설정하는 기능이 있다.

윈도우즈에서는 사각 영역을 정의할 때 다음과같이 정의된 RECT구조체를 사용한다.

typedef sturct_RECT

{

LONG left;

LONG top;

LONG right;

LONG bottom;

}RECT;

 

첫번재 인수 hdc , 두번째 인수는 출력할 문자열 세번째 인수는 출력할 문자열의 길이인데

이 값이 -1이면 NULL종료 문자열로 간주하므로 문자열 상수를 바로 출력할 수 있다.

다섯번째 uFormat은 DrawText함수가 문자열을 출력할 방법을 지정하는 플래그이다.

 

 

 

 값

설명 

 DT_LEFT

 수평 왼쪽 정렬

 DT_RIGHT

 수평 오른쪽 정렬

 DT_CENTER

 수평 중앙 정렬

 DT_BOTTOM

 사각영역의 바닥에 문자열을 출력

 DT_VCENTER

 사각영역의 수직 중앙에 문자열을 출력

 DT_WORDBREAK

 사각 영역의 오른쪽 끝에서 자동 개행

 DT_SINGLELINE

 한 줄로 출력

 DT_NOCLIP

 사각영역의 경계를 벗어나도 문자열 자르지

 않고 그대로 출력

 

'Programming > API' 카테고리의 다른 글

마우스 입력  (0) 2015.06.08
그래픽 출력, 메세지 박스  (0) 2015.06.08
DC  (0) 2015.06.07
핸들  (0) 2015.06.07
사용자 정의 데이터  (0) 2015.06.07
admin