6-5-´Ù. ¹®ÀÚ¿­ÀÇ »ö»ó

ÆùÆ® ¿ÀºêÁ§Æ®¿Ü¿¡ Ãâ·ÂµÇ´Â ¹®ÀÚ¿­¿¡ ¿µÇâÀ» ÁÖ´Â ¿©·¯°¡Áö ÇÔ¼ö°¡ ÀÖ´Ù. 3Àå¿¡¼­ »ìÆ캻 ¹®ÀÚ¿­ Á¤·Ä »óŸ¦ ÁöÁ¤ÇÏ´Â SetTextAlign ÇÔ¼ö ¿Ü¿¡ ´ÙÀ½ ¼¼ ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.

COLORREF SetTextColor( HDC hdc, COLORREF crColor );
COLORREF SetBkColor( HDC hdc, COLORREF crColor );
int SetBkMode( HDC hdc, int iBkMode );

ÇÔ¼öÀÇ À̸§ÀÌ ¹«Ã´ ¼³¸íÀûÀ̱⠶§¹®¿¡ À̸§¸¸ º¸°íµµ ¾îµð´Ù ¾²´Â ¹°°ÇÀÎÁö ½±°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. SetTextColor´Â TextÀÇ Color¸¦ SetÇÏ´Â ÇÔ¼öÀ̸ç SetBkColorÀº ±ÛÀÚ µÚÂÊÀÇ ¹è°æ»ö»óÀ» ÁöÁ¤ÇÏ´Â ÇÔ¼öÀÌ´Ù. µÑ ´Ù COLORREFÇüÀÇ Àμö¸¦ ÃëÇϹǷΠRGB ¸ÅÅ©·Î ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¿øÇÏ´Â »ö»óÀ» ¼³Á¤Çϵµ·Ï ÇÑ´Ù. µÎ ÇÔ¼öÀÇ ¹Ý´ë ÇÔ¼ö´Â GetTextColor, GetBkColorÀ̸ç ÀÌ ÇÔ¼öµéÀº ÇöÀç ¼³Á¤µÈ ¹®ÀÚ»ö°ú ¹è°æ»öÀ» ±¸ÇØ ÁØ´Ù. ¹®ÀÚ»öÀ¸·Î »¡°£»öÀ» ÁÖ°í ¹è°æ»öÀ¸·Î ÃÊ·Ï»öÀ» ÁÖ¸é ÃÊ·Ï»ö ¹ÙÅÁ¿¡ »¡°£»öÀÇ ±ÛÀÚ°¡ Ãâ·ÂµÉ °ÍÀÌ´Ù. ¼¼¹ø° ÇÔ¼ö´Â ¹è°æ»ö»óÀ» »ç¿ëÇÒ ¹æ¹ýÀ» ¼³Á¤ÇÑ´Ù. OPAQUE¿Í TRANSPARENT µÎ°¡Áö ¿É¼ÇÁß ÇÑ°¡Áö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç µðÆúÆ®´Â OPAQUEÀÌ´Ù.

Àμö ¼³¸í
OPAQUE ºÒÅõ¸íÇÑ ¹è°æÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ ¹è°æ »ö»ó¿¡ ÀÇÇØ µÞÂÊÀÇ ±×¸²ÀÌ Áö¿öÁø´Ù. ÀÌ ¸ðµå°¡ µðÆúÆ®ÀÌ´Ù.
TRANSPARENT Åõ¸íÇÑ ¹è°æ»ö»óÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ ¹®ÀÚ¸¦ Ãâ·ÂÇÑ ÈÄ¿¡µµ ¹è°æÀÌ ¹Ù²îÁö ¾Ê´Â´Ù. Áï ¹®ÀÚ »çÀÌ »çÀÌÀÇ ¿©¹é¿¡ ÀÖ´Â ¿ø·¡ ¹è°æÀÌ Áö¿öÁöÁö ¾Ê´Â´Ù.

ÀÌ ¼¼ °¡Áö ÇÔ¼ö¸¦ »ç¿ëÇÏ¸ç ¹®ÀÚ¿­ÀÇ »ö»óÀ» º¯°æÇØ º¸°í ¹è°æ ¸ðµå°¡ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö »ìÇ¥ º¸µµ·Ï ÇÏÀÚ. BkMode.cppÀÇ ¼Ò½º´Â ´ÙÀ½°ú °°´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HFONT font, oldfont;
	char str[]="ÆùÆ® Test 1234";
	HBRUSH MyBrush, OldBrush;
	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		MyBrush=CreateHatchBrush(HS_CROSS,RGB(0,0,255));
		OldBrush=(HBRUSH)SelectObject(hdc,MyBrush);
		Rectangle(hdc,50,50,400,200);
		SelectObject(hdc,OldBrush);

		font=CreateFont(30,0,0,0,0,0,0,0,HANGEUL_CHARSET,0,0,0,0,"±Ã¼­");
		oldfont=(HFONT)SelectObject(hdc,font);
		SetTextColor(hdc,RGB(255,0,0));
		SetBkColor(hdc,RGB(255,255,0));
		TextOut(hdc, 100,100,str,strlen(str));
		SetBkMode(hdc,TRANSPARENT);
		TextOut(hdc, 100, 150,str,strlen(str));

		SelectObject(hdc,oldfont);
		DeleteObject(MyBrush);
		DeleteObject(font);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

¹ÙµÏÆÇ ¸ð¾çÀÇ »ç°¢ÇüÀ» ±×·Á ¹è°æÀ» ¸¸µç ÈÄ ³ë¶õ»ö ¹è°æ¿¡ »¡°£»ö ±ÛÀÚ¸¦ ¸ðµå¸¦ ¹Ù²Ù¾î °¡¸ç Ãâ·ÂÇØ º¸¾Ò´Ù. °á°ú´Â ´ÙÀ½°ú °°´Ù.

ºÒÅõ¸íÇÑ ¹è°æ ¸ðµå¸¦ »ç¿ëÇÑ °æ¿ì´Â ¹è°æÀÇ ¹ÙµÏÆÇ ¸ð¾çÀÌ Áö¿öÁöÁö¸¸ Åõ¸íÇÑ ¹è°æ ¸ðµå¸¦ »ç¿ëÇÏ¸é ±ÛÀÚ »çÀÌ »çÀÌ·Î ¹ÙµÏÆÇ ¸ð¾çÀÌ ±×´ë·Î ³²¾Æ Àִ´Ù. ºñÆ®¸ÊÀ̳ª ±×¸² À§¿¡ ¹®ÀÚ¿­À» Ãâ·ÂÇÑ´Ù¸é Åõ¸í ¸ðµå¸¦ »ç¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù.


¸ñ·Ï º¸±â  ´ÙÀ½ °­Á            written by http://www.winapi.co.kr