¿øÇü | int SetROP2(HDC hdc, int fnDrawMode); | ||||||||||||||||||||||||||||||||||
Àμö |
¢ºhdc : ±×¸®±â ¸ðµå¸¦ ÁöÁ¤ÇÒ DCÀÇ ÇÚµé ¢ºfnDrawMode : ±×¸®±â ¸ðµå ***) ¿¬»ê ¹æ¹ýÀ» Á¤È®ÇÏ°Ô Á¶»çÇÒ °Í
|
||||||||||||||||||||||||||||||||||
¸®ÅÏ | ¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ¿¡·¯ ¹ß»ý½Ã 0À» ¸®ÅÏÇÑ´Ù. | ||||||||||||||||||||||||||||||||||
¼³¸í |
±×¸®±â ¸ðµå¶õ GDI ÇÔ¼ö°¡ ȸ鿡 Ãâ·ÂÀ» ³»º¸³¾ ¶§ ȸ鿡 ÀÌ¹Ì Ãâ·ÂµÇ¾î ÀÖ´Â ±×¸²°ú »õ·Î ±×·ÁÁö´Â ±×¸²°úÀÇ °ü°è¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. AND, OR, XOR µî ºñÆ®°£ÀÇ ÀÌÁø ¿¬»ó ¹æ¹ý°ú NOT ¿¬»êÀÇ Á¶ÇÕÀ¸·Î ÁöÁ¤µÈ´Ù.±×¸®±â ¿¬»êÀº ·¡½ºÅÍ µð¹ÙÀ̽º¿¡¸¸ Àû¿ëµÇ¸ç º¤ÅÍ µð¹ÙÀ̽º¿¡´Â Àû¿ëµÇÁö ¾Ê´Â´Ù. ÀÌ ÇÔ¼ö¸íÀÇ ROP´Â Rater OPerationÀÇ ¾àÀÚÀ̸ç 2´Â ȸé»ö»ó°ú ÆæÀÇ »ö»ó 2°³¸¦ ÇÇ¿¬»êÀÚ·Î ÃëÇÑ´Ù´Â ¶æÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â º¹ÀâÇÑ ¸ð¾çÀÇ ¹è°æ(µ¿½É¿ø)»çÀ̸¦ ÀÛÀº ¿øÀÌ ¸¶¿ì½º¸¦ µû¶ó À̵¿ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; int i; static oldx,oldy; int x,y; switch(iMessage) { case WM_MOUSEMOVE: hdc=GetDC(hWnd); SelectObject(hdc,GetStockObject(NULL_BRUSH)); SetROP2(hdc,R2_NOT); if (oldx != 0) Ellipse(hdc,oldx-10, oldy-10,oldx+10,oldy+10); x=LOWORD(lParam); y=HIWORD(lParam); Ellipse(hdc,x-10, y-10,x+10,y+10); oldx=x; oldy=y; ReleaseDC(hWnd,hdc); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); SelectObject(hdc,GetStockObject(NULL_BRUSH)); for (i=0;i<300;i+=5) Ellipse(hdc,200-i,200-i,200+i,200+i); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } ¸¶¿ì½º°¡ À̵¿ÇÒ ¶§¸¶´Ù ÀÛÀº ¿øÀÌ ±×·ÁÁö´Âµ¥ ÀÌ ¶§ R2_NOT ±×¸®±â ¸ðµå¸¦ »ç¿ëÇÏ¿© ¿ø·¡ÀÇ ±×¸²À» º¹±¸ÇÏ¸é¼ À̵¿Çϱ⠶§¹®¿¡ Ç×»ó ¹è°æÀÇ µ¿½É¿øÀÌ Æı«µÇÁö ¾Ê°í ±× ¸ð¾çÀ» À¯ÁöÇÑ´Ù. ¸¸¾à R2_NOT ±×¸®±â ¸ðµå¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¸¶¿ì½º°¡ ¿òÁ÷ÀÏ ¶§¸¶´Ù ÀÛÀº ¿øÀÌ ±×·ÁÁö±â ¶§¹®¿¡ ¹è°æÀÇ µ¿½É¿ø ¸ð¾çÀÌ ¿ø·¡ ¸ð¾çÀ» À¯ÁöÇÏÁö ¸øÇÑ´Ù. |
||||||||||||||||||||||||||||||||||
Âü°íÇÔ¼ö | GetROP2 | ||||||||||||||||||||||||||||||||||
Ç÷¿Æû | 95ÀÌ»ó | ||||||||||||||||||||||||||||||||||
º»¹®ÂüÁ¶ |
written by http://www.winapi.co.kr
|