SetTextColor

원형 COLORREF SetTextColor(HDC hdc, COLORREF crColor);
MFC 원형 virtual COLORREF CDC::SetTextColor( COLORREF crColor );
인수

▶hdc:DC 핸들

▶crColor:문자열의 색상값. RGB 매크로로 색상값을 설정한다.

리턴 이전에 설정된 전경색을 리턴한다.
설명

TextOut나 ExtTextOut 함수로 출력되는 문자열은 DC에 설정되어 있는 전경색으로 출력된다. 디폴트 DC의 전경색은 검정색이므로 아무 지정없이 문자열을 출력하면 검정색으로 출력되나 이 함수로 전경색을 변경하면 출력되는 문자열의 색상을 변경할 수 있다.

예제 1

다음 예제는 TextOut 함수로 문자열을 출력하되 SetTextColor, SetBkColor 함수로 문자열의 색상을 바꿔 출력한다.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	char *szText="Text Color Change";

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		// 노란 바탕에 검정색 글자
		SetTextColor(hdc,RGB(0,0,0));
		SetBkColor(hdc,RGB(255,255,0));
		TextOut(hdc,10,10,szText,strlen(szText));

		// 초록색 바탕에 빨간색 글자
		SetTextColor(hdc,RGB(255,0,0));
		SetBkColor(hdc,RGB(0,255,0));
		TextOut(hdc,10,40,szText,strlen(szText));
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

실행 결과는 다음과 같다.

참고함수

SetBkColor:배경색의 색상을 바꾼다.

SetBkMode, GetTextColor

플렛폼 95이상
참조 문자열의 색상을 변경하는 방법에 대해서는 6-5-다 항을 참조한다.

written by http://www.winapi.co.kr