SetBkMode

¿øÇü

int SetBkMode( HDC hdc, int iBkMode );

MFC ¿øÇü

int CDC::SetBkMode( int nBkMode );

Àμö

¢ºhdc : ´ë»ó DCÀÇ ÇÚµé

¢ºiBkMode : È¥ÇÕ ¸ðµå¸¦ ¼³Á¤ÇÏ´Â Ç÷¡±×ÀÌ¸ç ´ÙÀ½ µÑ Áß ÇϳªÀÌ´Ù.

Ç÷¡±× ¼³¸í
OPAQUE

ºÒÅõ¸íÇÑ ¹è°æÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ SetBkColor¿¡ ÀÇÇØ ÁöÁ¤µÈ ¹è°æ »ö»ó¿¡ ÀÇÇØ µÞÂÊÀÇ ±×¸²À̳ª ¹«´Ì°¡ Áö¿öÁø´Ù. ÀÌ ¸ðµå°¡ µðÆúÆ®ÀÌ´Ù.

TRANSPARENT

Åõ¸íÇÑ ¹è°æ»ö»óÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ ¹®ÀÚ¸¦ Ãâ·ÂÇÑ ÈÄ¿¡µµ ¹è°æÀÌ ¹Ù²îÁö ¾Ê´Â´Ù. Áï ¹®ÀÚ »çÀÌ »çÀÌÀÇ ¿©¹é¿¡ ÀÖ´Â ¿ø·¡ ¹è°æÀÌ Áö¿öÁöÁö ¾Ê´Â´Ù.

¸®ÅÏ

¼º°øÇÒ °æ¿ì ÀÌÀü¿¡ ¼³Á¤µÇ¾î ÀÖ´ø È¥ÇÕ ¸ðµå¸¦ ¸®ÅÏÇÏ¸ç ¿¡·¯ ¹ß»ý½Ã 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

DCÀÇ ¹è°æ È¥ÇÕ ¸ðµå(Mix Mode)¸¦ ¼³Á¤ÇÑ´Ù. È¥ÇÕ ¸ðµå¶õ »õ·Î Ãâ·ÂµÇ´Â ¹®ÀÚ¿­ÀÇ ¹è°æÀ» ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤Çϴµ¥ SetBkColor¿¡ ÀÇÇØ ¼³Á¤µÈ ¹è°æ»ö ¶Ç´Â µðÆúÆ® ¹è°æ»öÀÎ Èò»öÀ¸·Î ¹è°æÀ» Ãâ·ÂÇÏ´Â OPAQUE¿Í ¹®ÀÚ¿­ÀÇ È¹ »çÀ̸¦ Åõ¸íÇÏ°Ô Ã³¸®ÇÏ´Â TRANSPARENT µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. µðÆúÆ® È¥ÇÕ ¸ðµå´Â ºÒÅõ¸í ¸ðµåÀÎ OPAQUEÀ̹ǷΠ¹®ÀÚ¿­ÀÇ ¹è°æ »ö»óÀÌ Ãâ·ÂµÇ³ª ÀÌ ¸ðµå¸¦ º¯°æÇϸé Åõ¸íÇÑ ¹®ÀÚ¿­À» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â °¢°¢ÀÇ È¥ÇÕ ¸ðµå·Î µÎ¹ø ¹®ÀÚ¿­À» Ãâ·ÂÇØ º»´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	char str1[]="ºÒÅõ¸íÇÑ ¹®ÀÚ¿­";
	char str2[]="Åõ¸íÇÑ ¹®ÀÚ¿­";
	HBRUSH MyBrush, OldBrush;	

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		MyBrush=CreateSolidBrush(RGB(0,0,255));
		OldBrush=(HBRUSH)SelectObject(hdc,MyBrush);
		Rectangle(hdc,0,0,400,200);
		SelectObject(hdc,OldBrush);

		TextOut(hdc, 50,50,str1,lstrlen(str1));
		SetBkMode(hdc,TRANSPARENT);
		TextOut(hdc, 50,100,str2,lstrlen(str2));

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

ÆĶõ»ö ¹è°æÀÇ »ç°¢ÇüÀ» ±×·ÁµÎ°í ÀÌ ¹è°æ¿¡ ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¿´´Ù. ù¹ø° ¹®ÀÚ¿­Àº µðÆúÆ® ¹è°æ ¸ðµåÀÎ OPAQUE·Î Ãâ·ÂÇÏ¿´À¸¸ç µÎ¹ø° ¹®ÀÚ¿­Àº SetBkMode·Î TRANSPARENT ¸ðµå·Î º¯°æÇÑ ÈÄ Ãâ·ÂÇÏ¿´´Ù. ¿¹Á¦ÀÇ ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

ù¹ø° ¹®ÀÚ¿­Àº µðÆúÆ® ¹è°æ »ö»óÀÎ Èò»öÀÌ ¹®ÀÚ¿­ÀÇ ¹è°æÀ¸·Î »ç¿ëµÇ¾úÁö¸¸ µÎ¹ø° ¹®ÀÚ¿­Àº ¹è°æ »ö»óÀ» ¹«½ÃÇÏ°í Åõ¸íÇÏ°Ô ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¿´´Ù. Åõ¸í ¸ðµå·Î Ãâ·ÂÇÑ ¹®ÀÚ¿­Àº ¹è°æ¿¡ ÀÖ´Â ±×¸², ºñÆ®¸Ê, ¹«´Ì µîÀÌ È¹ »çÀÌ·Î ±×´ë·Î ºñÃÄ º¸ÀδÙ. Àå½ÄÀ» À§ÇÑ ¹®ÀÚ¿­ Ãâ·ÂÀ̶ó¸é Åõ¸í ¸ðµå·Î Ãâ·ÂÇÏ´Â °ÍÀÌ º¸±â¿¡ ÁÁÀ¸³ª Ãâ·Â ¼Óµµ´Â ºÒÅõ¸í ¸ðµå°¡ ÈξÀ ´õ ºü¸£´Ù.

È¥ÇÕ ¸ðµå´Â ¹®ÀÚ¿­ Ãâ·Â»Ó¸¸ ¾Æ´Ï¶ó CreatePenÀ¸·Î ¸¸µç ½Ç¼±, ¼â¼± µîÀÇ ¼±À» Ãâ·ÂÇÒ ¶§ ¼± »çÀÌÀÇ ¿©¹éÀ» ä¿ì´Â ¹æ¹ýÀ» ÁöÁ¤Çϱ⵵ ÇÏ¸ç ¹«´Ì°¡ ÀÖ´Â ºê·¯½ÃÀÇ ¹è°æÀ» ä¿ï ¶§µµ »ç¿ëµÈ´Ù. ±×·¯³ª ExtCreatePenÀ¸·Î »ý¼ºÇÑ ÆæÀº ÀÌ ¸ðµå¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.

Âü°íÇÔ¼ö

GetBkMode : ÇöÀç ¼³Á¤µÇ¾î Àִ ȥÇÕ ¸ðµå¸¦ Á¶»çÇÑ´Ù.

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

¹è°æ ¸ðµå¿¡ ´ëÇؼ­´Â 6-5-´Ù Ç×À» Âü°íÇÑ´Ù.


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