반응형
TextOut
hdc=GetDC(hWnd); SetTextAlign(hdc,TA_CENTER); // TA_CENTER :: 가운데 정렬. TextOut(hdc,250,100,TEXT("PRINT TA_CENTER "),17); // 문자열 좌표는 문자열 중간을 기준으로 함. TextOut(hdc,250,120,TEXT("PRINT TA_CENTER "),17); ReleaseDC(hWnd, hdc); // 가져왔던 DC 반환. ** 핸들은 사용하고 바로 반납을 해야 함. |
DrawText
HDC hdc; PAINTSTRUCT ps; RECT rt={100,100,400,300}; // { Left Pos , Top Pos, Right Pos, Bottm Pos } TCHAR *str=TEXT("님은 갔습니다. 아아 사랑하는 나의 님은 갔습니다. 푸른 산빛을 " "깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서 차마 떨치고 갔습니다." "황금의 꽃같이 굳고 빛나던 옛 맹세는 차디찬 티끌이 되어 한숨의 미풍에 " "날아갔습니다."); DrawText(hdc,str,-1,&rt,DT_CENTER | DT_WORDBREAK); - 구성 - DrawText(hdc, // DC 핸들 str, // 텍스트 포인터 -1, // -1 == NULL 까지 출력 &rt, // 텍스트를 그릴 사각형 좌표 DT_CENTER | DT_WORDBREAK); // 텍스트 설정. |
DrawText 컴파일을 했을 떄 "일치하지 않는 문자열을 연결하고 있습니다." 라는 오류가 뜬다면,
문자집합(유니코드 or 멀티바이트)을 변경하거나, 아래코드로 변경 한다.
* 멀티바이트 : TCHAR *str=TEXT("님은 갔습니다. 아아 사랑하는 나의 님은 갔습니다. 푸른 산빛을 " "깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서 차마 떨치고 갔습니다." "황금의 꽃같이 굳고 빛나던 옛 맹세는 차디찬 티끌이 되어 한숨의 미풍에 " "날아갔습니다."); * 유니코드 : TCHAR *str=TEXT("님은 갔습니다. 아아 사랑하는 나의 님은 갔습니다. 푸른 산빛을 \ 깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서 차마 떨치고 갔습니다.\ 황금의 꽃같이 굳고 빛나던 옛 맹세는 차디찬 티끌이 되어 한숨의 미풍에 \ 날아갔습니다."); * \ 한문장 처럼 이어주는 역할. 중간에 TAB 입력도 출력되므로 주의. |
반응형