문자열 출력
TextOut - 글자를 그리는 함수
* 5가지의 인자가 있다.
-> TextOut(HDC hdc, int nXStart, int nYStart, LPCTSTR IpString, int cdString);
* hdc - 화면에 무엇을 출력하는 '모든' 함수의 첫번째 인자는 hdc이다.
* nXStart, nYStart - 출력될 문자열의 좌표 값
* IpString - 문자열 포인터
* cdString - 문자열의 길이
-> Null문자를 인식하지 않기 때문에 정확한 문자열의 길이를 입력해야 한다.
-> 변수를 선언하거나 함수를 선언하여 사용하면 간편하고 안전하다.
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; switch (iMessage) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_LBUTTONDOWN: hdc = GetDC(hWnd); TextOut(hdc, 100, 100, TEXT("Beautiful Korea"), 15); ReleaseDC(hWnd, hdc); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } -------------------- WM_LBUTTONDOWN에서는 GetDC를 사용하고난 후 ReleaseDC로 DC를 지워주어야한다. |
SetTextAlign - 문자열의 정렬방법을 변경
-> UINT SetTextAlign(HDC hdc, UINT fMode);
값 |
설명 |
TA_TOP |
지정한 좌표가 상단 좌표가 된다. |
TA_BOTTOM |
지정한 좌표가 하단 좌표가 된다. |
TA_CENTER |
지정한 좌표가 수평 중앙 좌표가 된다. |
TA_LEFT |
지정한 좌표가 수평 왼쪽 좌표가 된다. |
TA_RIGHT |
지정한 좌표가 수평 오른쪽 좌표가 된다. |
TA_UPDATECP |
지정한 좌표를 무시하고 문자열 출력후의 CP값을 따른다. |
TA_NOUPDATECP |
CP를 사용하지않고 지정한 좌표를 사용, CP를 변경하지 않는다. |
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; switch (iMessage) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_LBUTTONDOWN: hdc = GetDC(hWnd); TextOut(hdc, 100, 100, TEXT("Beautiful Korea"), 15); ReleaseDC(hWnd, hdc); return 0; // 지워진 그래픽을 복구함 case WM_PAINT: hdc = BeginPaint(hWnd, &ps); SetTextAlign(hdc, TA_CENTER); TextOut(hdc, 200, 60, TEXT("Beautiful Korea"), 15); TextOut(hdc, 200, 80, TEXT("is My"), 5); TextOut(hdc, 200, 100, TEXT("Lovely Home Country"), 19); EndPaint(hWnd, &ps); return 0; /*- -짝- 짝을 맞추어 사용한다. -짝- -*/ /*- GetDC / ReleaseDC -- -- BeginPaint / EndPaint -*/ } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } 결과
|
DOS창에서 메시지박스 띄우기
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
20140917 일일보고 7번 김재성 (9) | 2014.09.17 |
---|---|
2014년 9월 16일 출석번호 6번 김용우 (8) | 2014.09.16 |
2014.09.15 출석번호 5번 김상엽 -업무일지 수정 (8) | 2014.09.15 |
2014.09.12 업무일지] 김대희 (10) | 2014.09.12 |
2014.09.04. 업무보고서 출석번호22 허수웅 (6) | 2014.09.05 |
2014.09.03 업무보고 출번 21 이재우 (7) | 2014.09.03 |
일일보고서 09.01 [20. 이경진] (7) | 2014.09.01 |
일일교육보고 2014.08.27 (출석번호 18번 오영주) (7) | 2014.08.28 |