| ¿øÇü | 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
|