| Àμö |
wParam : Ȱ¼ºÈµÈ ž ·¹º§ ºÎ¸ð À©µµ¿ìÀÇ ÇÚµéÀÌ´Ù. LOWORD(lParam) : ¸¶¿ì½º¸¦ Ŭ¸¯ÇÑ À§Ä¡ÀÎ È÷Æ® Å×½ºÆ®°ªÀÌ´Ù. ÀÛ¾÷ ¿µ¿ªÀ» Ŭ¸¯ÇßÀ¸¸é HTCLIENT°ªÀÌ Àü´ÞµÈ´Ù. HIWORD(lParam) : ÀÌ ¸Þ½ÃÁö¸¦ À¯¹ß½ÃŲ ¸¶¿ì½º ¸Þ½ÃÁöÀÇ ID°¡ Àü´ÞµÈ´Ù. ÀÌ ¸Þ½ÃÁöÀÇ ¸®Åϰª¿¡ µû¶ó ¸¶¿ì½º ¸Þ½ÃÁö´Â Å¥¿¡ ºÙ¿©Áö°Å³ª ¹ö·ÁÁø´Ù. |
||||||||||
| ¼³¸í |
»ç¿ëÀÚ°¡ ºñȰ¼ºÈµÈ À©µµ¿ì¿¡¼ ¸¶¿ì½º ¹öưÀ» ´©¸¦ ¶§ ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ÀÌ¹Ì È°¼ºÈµÇ¾î ÀÖÀº À©µµ¿ì¿¡¼ ¸¶¿ì½º¸¦ ´©¸¦ ¶§´Â ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇÁö ¾Ê´Â´Ù. À©µµ¿ì´Â ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ÀÚ½ÅÀ» Ȱ¼ºÈÇÒ °ÍÀÎÁö, Àü´ÞµÈ ¸¶¿ì½º ¸Þ½ÃÁö´Â ¾î¶»°Ô ó¸®ÇÒ °ÍÀÎÁö °áÁ¤ÇØ¾ß ÇÑ´Ù. À̶§ wParam°ú lParam°ªÀ» ÀÐ¾î »ç¿ëÀÚ°¡ ¾î¶² ¸¶¿ì½º ¹öưÀ» ȸéÀÇ ¾î´À ºÎºÐ¿¡¼ ´·¶´ÂÁö¸¦ Á¶»çÇÒ ¼ö ÀÖ´Ù. DefWindowProcÀ¸·Î ÀÌ ¸Þ½ÃÁö¸¦ º¸³¾ °æ¿ì ÀÌ ¸Þ½ÃÁö´Â ºÎ¸ð À©µµ¿ì¿¡°Ô Àü´ÞµÇ¾î ºÎ¸ð À©µµ¿ì°¡ Â÷Àϵå À©µµ¿ìÀÇ È°¼ºÈ ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. ºÎ¸ð À©µµ¿ì°¡ Â÷Àϵ带 Ȱ¼ºÈ½ÃŲ´Ù¸é MA_NOACTIVATE(ANDEAT)¸¦ ¸®ÅÏÇÏ¿© ½Ã½ºÅÛÀÌ ´õ ÀÌ»ó ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏÁö ¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö¿¡ ÀÇÇØ À©µµ¿ì°¡ Ȱ¼ºÈµÇ¸é WM_ACTIVATE(APP), WM_NCACTIVATE, WM_SETFOCUS ¸Þ½ÃÁö°¡ ¿¬¼ÓÀûÀ¸·Î Àü´ÞµÈ´Ù. ÀÌ ¸Þ½ÃÁö´Â ¸¶¿ì½º ¹öư ´©¸§ µ¿ÀÛ¿¡ ´ëÇØ Æ÷Ä¿½º¸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ °áÁ¤Çϱâ À§ÇØ Àü´ÞµÇ´Â °ÍÀÌ´Ù. Æ÷Ä¿½º°¡ À̵¿µÈ ÈÄ¿¡ ¹ß»ýÇÏ´Â °ÍÀÌ ¾Æ´Ï¹Ç·Î Æ÷Ä¿½º º¯È¿¡ µû¸¥ 󸮴 ÀÌ ¸Þ½ÃÁö¿¡¼ ÇÏÁö ¾Ê´Â °ÍÀÌ ¿Ç´Ù. |
||||||||||
| ¸®ÅÏ |
À©µµ¿ì¸¦ Ȱ¼ºÈÇÒ °ÍÀΰ¡¿Í Àü´ÞµÈ ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.
|
||||||||||
| ¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ȸéÀÇ Æ¯Á¤ À§Ä¡¿¡ "C"¹®ÀÚ¸¦ Ãâ·ÂÇϴµ¥ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ¸·Î ÀÌ ¹®ÀÚÀÇ À§Ä¡¸¦ ¿Å±æ ¼ö ÀÖ´Ù. ¹öưÀ» ´©¸£´Â Áï½Ã ¹®ÀÚÀÇ À§Ä¡°¡ ¹Ù²îÁö¸¸ ´Ü ºñȰ¼ºÈ »óÅ¿¡¼ Ȱ¼ºÈ »óÅ·Π¹Ù²ð ¶§´Â ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ó¸®ÇÏÁö ¾Ê´Â´Ù.
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static int x,y;
switch(iMessage) {
case WM_MOUSEACTIVATE:
return MA_ACTIVATEANDEAT;
case WM_LBUTTONDOWN:
x=LOWORD(lParam);
y=HIWORD(lParam);
InvalidateRect(hWnd,NULL,TRUE);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
TextOut(hdc,x,y,"C",1);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
½ÇÇàÁßÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù.
WM_MOUSEACTIVATE ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ À©µµ¿ì¸¦ Ȱ¼ºÈÇϱâ´Â ÇÏÁö¸¸ ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ¹ö¸²À¸·Î½á À̶§´Â WM_LBUTTONDOWN ¸Þ½ÃÁö°¡ ¹ß»ýÇÏÁö ¾Êµµ·Ï ÇÏ¿´´Ù. ºñȰ¼ºÈ »óÅ¿¡¼ ¸¶¿ì½º ¹öưÀ» Ŭ¸¯ÇÒ °æ¿ì´Â ÀÌ Å¬¸¯À» À©µµ¿ì Ȱ¼ºÈ·Î¸¸ ÇØ¼®ÇÒ ¶§ ÀÌ·± ½ÄÀ¸·Î ó¸®ÇÑ´Ù. Ȱ¼ºÈÇÔ°ú µ¿½Ã¿¡ ¸¶¿ì½º ¸Þ½ÃÁöµµ °°ÀÌ Ã³¸®ÇÏ·Á¸é MA_ACTIVATE¸¦ ¸®ÅÏÇÑ´Ù. ¸¶¿ì½º Ŭ¸¯À¸·Î´Â Ȱ¼ºÈÇÏÁö ¾Êµµ·Ï ÇÏ°í ½Í´Ù¸é MA_NOACTIVATE(ANDEAT)¸¦ ¸®ÅÏÇØ ÁÖ¸é µÈ´Ù. |
||||||||||
| Ç÷§Æû |
95ÀÌ»ó |
||||||||||
| ÂüÁ¶ |
|
|
written by http://www.winapi.co.kr
|