WM_ERASEBKGND

Àμö

wParam : ¹è°æ ä»ö¿¡ »ç¿ëµÉ DCÀÇ ÇÚµé

lParam : »ç¿ëµÇÁö ¾ÊÀ½

¼³¸í

À©µµ¿ì Å©±â º¯°æµÇ¾ú°Å³ª, ´Ù¸¥ À©µµ¿ì¿¡ °¡·ÁÁø ºÎºÐÀÌ µå·¯³µ´Ù°Å³ª ÇÒ ¶§ ¹è°æÀ» Áö¿ì±â À§ÇØ ÀÌ ¸Þ½ÃÁö°¡ º¸³»Áø´Ù. WM_PAINT¿¡¼­ ÀÛ¾÷ ¿µ¿ª¿¡ Ãâ·ÂÀ» Çϱâ Àü¿¡ ¸ÕÀú Àü¿¡ ±×·ÁÁ® ÀÖ´ø ³»¿ëÀ» Áö¿ö¾ß ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏÁö ¾ÊÀ» °æ¿ì DefWindowProcÀº À©µµ¿ì Ŭ·¡½º¿¡ Á¤ÀÇµÈ ¹è°æ ºê·¯½Ã·Î ÀÛ¾÷ ¿µ¿ªÀ» Áö¿î´Ù. ±×·¡¼­ º°µµÀÇ Ã³¸®¸¦ ÇÏÁö ¾Ê´õ¶óµµ À©µµ¿ì¸¦ »õ·Î ±×¸± ¶§´Â Ç×»ó ¹è°æ ºê·¯½Ã·Î ÀÛ¾÷ ¿µ¿ªÀ» Áö¿î ÈÄ WM_PAINT¿¡¼­ Ãâ·ÂÀ» ³»º¸³»°Ô µÈ´Ù.

¸¸¾à À©µµ¿ì Ŭ·¡½ºÀÇ ¹è°æ ºê·¯½Ã°¡ NULLÀ̸é DefWindowProcÀº ¾Æ¹«°Íµµ ÇÏÁö ¾ÊÀ¸¸ç µû¶ó¼­ ¹è°æÀº Áö¿öÁöÁö ¾Ê´Â´Ù. ÀÌ °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á÷Á¢ ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ¿© ¹è°æÀ» Áö¿ö ÁÖ¾î¾ß ÇÑ´Ù. º°µµÀÇ ºê·¯½Ã¸¦ ¸¸µé¾î ¹è°æÀ» Áö¿ï ¼öµµ ÀÖ°í ºñÆ®¸ÊÀ̳ª ÀÛµµ ÇÔ¼ö·Î Ä¿½ºÅÒ ¹è°æÀ» ¸¸µé ¼öµµ ÀÖ´Ù.

¸®ÅÏ

¹è°æÀ» Áö¿üÀ¸¸é TRUE(0ÀÌ ¾Æ´Ñ °ª)¸¦ ¸®ÅÏÇϸç Áö¿ìÁö ¸øÇßÀ¸¸é 0À» ¸®ÅÏÇÑ´Ù. ¹è°æÀ» Áö¿î ÈÄ TRUE¸¦ ¸®ÅÏÇÏ¸é ½Ã½ºÅÛÀº ´õ ÀÌ»ó ¹è°æÀ» Áö¿ï ÇÊ¿ä°¡ ¾ø´Ù´Â Ç¥½Ã¸¦ ÇÏ°Ô µÇ¸ç ÀÌ Ç¥½Ã´Â WM_PAINT·Î Àü´ÞµÇ´Â PAINTSTRUCT ±¸Á¶Ã¼ÀÇ fErase ¸â¹ö·Î ³ªÅ¸³ª°Ô µÈ´Ù.

¿¹Á¦

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â À©µµ¿ì Ŭ·¡½ºÀÇ ¹è°æ ºê·¯½Ã¸¦ NULL·Î ÁöÁ¤ÇØ ³õ°í WM_ERASEBKGND¿¡¼­ Á÷Á¢ ¹è°æÀ» Áö¿î´Ù.

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
	  ,LPSTR lpszCmdParam,int nCmdShow)
{
	WndClass.hbrBackground=NULL;
	....
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	RECT crt;
	HBRUSH Brush;
	TCHAR Mes[]="¹è°æ »ö»óÀÌ Á» ÀÌ»óÇÏÁö¿ä?";

	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		TextOut(hdc,10,10,Mes,lstrlen(Mes));
		EndPaint(hWnd, &ps);
		return 0;
	case WM_ERASEBKGND:
		hdc=(HDC)wParam;
		Brush=CreateHatchBrush(HS_DIAGCROSS,RGB(0,0,255));
		GetClientRect(hWnd,&crt);
		FillRect(hdc,&crt,Brush);
		DeleteObject(Brush);
		return TRUE;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

ÇØÄ¡ ºê·¯½Ã¸¦ ¸¸µç ÈÄ ÀÌ ºê·¯½Ã·Î ÀÛ¾÷ ¿µ¿ªÀ» °¡µæ ä¿ü´Ù. °°Àº ¹æ¹ýÀ¸·Î ºñÆ®¸ÊÀ» ¹è°æÀ¸·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


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