2010년 12월 23일 목요일

API 글자색 변경 출력

컨셉 : 문자열을 배열에 넣고, index로 control 하면서 원하는 문자를 원하는 색으로 print
제기되는 문제 : 문자의 너비가 'AaWt '와 같이 글자글자마다 다르다. 자간 간격도 조금씩 다르다.
해결방안 : DrawTextEx( ) 에서 DT_CALCRECT 사용.

RECT out_rt = {0,0,0,0} 
DrawTextEx(hdc, dest, -1, &out_rt, DT_CALCRECT, NULL);
//실제 문자열은 찍지 않고, 그려질 area만 측정되어 out_rt에 저장된다.
DrawTextEx(hdc, dest, -1, &out_rt, DT_VCENTER | DT_WORDBREAK ,NULL);
//실제 문자열을 찍는 문장. out_rt에 출력한다.
//참고로 dest는 char array

SetTextColor(hdc, RGB(255, 0, 0));
//이 함수를 이용해 원하는 색을 RGB값으로 표현하여 사용한다.
SetBkColor(hdc,RGB(255, 255, 255));
//참고로 이 함수를 back ground color 변경함수



적용 결과

댓글 없음:

댓글 쓰기