winapi TextOut()
페이지 정보
본문
우선 간단한 문자출력 함수에 대해 설명하자면 TextOut() 는 C 의 printf() 와 비슷하다고 보면된다.
TextOut(hdc, nXStart, nYStart, lpszString, cbString)
TextOut(hdc, 좌표x,좌표y,"문자열",문자열길이)
문자 정렬
SetTextAlign(HDC hdc,UINT fMode);
말 그대로 문자을 정렬시키는 함수이다.
-------------------------------------------------------------
값 설명
TA_TOP 지정한 좌표가 상단좌표가 된다.
TA_BOTTOM 지정한 좌표가 하단 좌표가 된다
TA_CENTER 지정한 좌표가 수평 중앙 좌표가 된다.
TA_LEFT 지정한 좌표가 수평 왼쪽 좌표가 된다
TA_RIGHT 지정한 좌표가 수평 오른쪽 좌표가 된다.
TA_UPDATECP 지정한 좌표대신 CP를 사용하며 문자열 출력후에 CP를 변경한다.
-------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
switch(message) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_LBUTTONDOWN:
hdc=GetDC(hWnd);
TextOut(hdc,10,10,"Hello World",11);
SetTextAlign(hdc,TA_CENTER);
TextOut(hdc,10,30,"Hello World",11);
ReleaseDC(hWnd, hdc);
return 0;}
return(DefWindowProc(hWnd,message,wParam,lParam)); }
두번째의 Hello World 문장이 왼쪽으로 치우친것을 볼수 있다.
이유는 현재 TextOut() 함수의 좌표가 10,30 인데 여기서 10 좌표가 기준점이 된다.
SetTextAlign(CENTER) 라고 했으니 TextOut() 의 문장의 중심이 10 좌표에 움직이는것이다.
TextOut(hdc, nXStart, nYStart, lpszString, cbString)
TextOut(hdc, 좌표x,좌표y,"문자열",문자열길이)
문자 정렬
SetTextAlign(HDC hdc,UINT fMode);
말 그대로 문자을 정렬시키는 함수이다.
-------------------------------------------------------------
값 설명
TA_TOP 지정한 좌표가 상단좌표가 된다.
TA_BOTTOM 지정한 좌표가 하단 좌표가 된다
TA_CENTER 지정한 좌표가 수평 중앙 좌표가 된다.
TA_LEFT 지정한 좌표가 수평 왼쪽 좌표가 된다
TA_RIGHT 지정한 좌표가 수평 오른쪽 좌표가 된다.
TA_UPDATECP 지정한 좌표대신 CP를 사용하며 문자열 출력후에 CP를 변경한다.
-------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
switch(message) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_LBUTTONDOWN:
hdc=GetDC(hWnd);
TextOut(hdc,10,10,"Hello World",11);
SetTextAlign(hdc,TA_CENTER);
TextOut(hdc,10,30,"Hello World",11);
ReleaseDC(hWnd, hdc);
return 0;}
return(DefWindowProc(hWnd,message,wParam,lParam)); }
두번째의 Hello World 문장이 왼쪽으로 치우친것을 볼수 있다.
이유는 현재 TextOut() 함수의 좌표가 10,30 인데 여기서 10 좌표가 기준점이 된다.
SetTextAlign(CENTER) 라고 했으니 TextOut() 의 문장의 중심이 10 좌표에 움직이는것이다.
댓글목록
등록된 댓글이 없습니다.