Àμö |
wParam : ´ëÈ»óÀÚÀÇ DC ÇÚµé. ÀÌ Çڵ鰪À¸·Î Àü°æ»ö°ú ¹è°æ»öÀ» º¯°æÇÑ´Ù. lParam : ´ëÈ»óÀÚÀÇ ÇÚµé. |
¼³¸í |
½Ã½ºÅÛÀÌ ´ëÈ»óÀÚ¸¦ ±×¸®±â Àü¿¡ ÀÌ ¸Þ½ÃÁö¸¦ º¸³» ¹è°æ»ö»óÀ» Áú¹®ÇÑ´Ù. DefWindowProcÀº ½Ã½ºÅÛ¿¡ Á¤ÀÇµÈ ¹è°æ »ö»óÀ» ¸®ÅÏÇϵµ·Ï µÇ¾î ÀÖÀ¸³ª ÀÌ ¸Þ½ÃÁö¸¦ ´ëÈ»óÀÚ°¡ Á÷Á¢ ó¸®Çϸé wParamÀ¸·Î Àü´ÞµÇ´Â DC¿¡ ¹è°æ»ö°ú Àü°æ»öÀ» ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¸ç ¹è°æ ºê·¯½Ã ÇÚµéÀ» ¸®ÅÏÇÔÀ¸·Î½á ´ëÈ»óÀÚÀÇ ¹è°æ»öÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. ¹è°æ ºê·¯½Ã¸¦ º¯°æÇÏ°íÀÚ ÇÒ °æ¿ì WM_INITDIALOG ¸Þ½ÃÁö¿¡¼ ¹Ì¸® ºê·¯½Ã¸¦ ¸¸µé¾î ³õ°í ÀÌ ¸Þ½ÃÁö¿¡¼ ºê·¯½Ã ÇÚµéÀ» ¸®ÅÏÇØ ÁÖ¸é µÈ´Ù. ´ëÈ»óÀÚ´Â ÀÌ ¸Þ½ÃÁö¿¡¼ ¸®ÅÏÇÑ ºê·¯½Ã ÇÚµé·Î ¹è°æÀ» ä»öÇÏ´Ù. ÀÌ ºê·¯½Ã´Â ½Ã½ºÅÛÀÌ ÀÚµ¿À¸·Î Æı«ÇØ ÁÖÁö ¾ÊÀ¸¹Ç·Î ´õ ÀÌ»ó ÇÊ¿ä°¡ ¾ø¾îÁ³À» ¶§(EndDialog È£Ãâ Á÷Àü)´ëÈ»óÀÚ°¡ Æı«ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö´Â °°Àº ½º·¹µå ³»¿¡¼¸¸ º¸³»Áø´Ù. |
¸®ÅÏ |
ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é ¹è°æ ºê·¯½ÃÀÇ ÇÚµéÀ» ¸®ÅÏÇØ ÁØ´Ù. ºê·¯½Ã Çڵ鰪Àº INT_PTR·Î ij½ºÆÃµÈ ÈÄ ¸®ÅϵǾî¾ß ÇÑ´Ù. ´ëÈ»óÀÚ ÇÁ·Î½ÃÀú°¡ FALSE¸¦ ¸®ÅÏÇÏ¸é µðÆúÆ® 󸮰¡ ¼öÇàµÈ´Ù. |
¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ´ëÈ»óÀÚÀÇ ¹è°æ »ö»óÀ» ³ë¶õ»öÀ¸·Î º¯°æÇÑ´Ù. #include "resource.h" BOOL CALLBACK AboutDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam) { static HBRUSH hBrush; switch(iMessage) { case WM_INITDIALOG: hBrush=CreateSolidBrush(RGB(255,255,0)); return TRUE; case WM_CTLCOLORDLG: return (INT_PTR)hBrush; case WM_COMMAND: switch (wParam) { case IDOK: case IDCANCEL: DeleteObject(hBrush); EndDialog(hDlg,0); return TRUE; } break; } return FALSE; } LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; TCHAR Mes[]="¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸£½Ê½Ã¿À"; switch(iMessage) { case WM_LBUTTONDOWN: DialogBox(g_hInst,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,AboutDlgProc); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,10,10,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } ½Ã½ºÅÛÀº ´ëÈ»óÀÚ¸¦ ±×¸®±â Àü¿¡ Ç×»ó WM_CTLCOLORDLG ¸Þ½ÃÁö¸¦ ´ëÈ»óÀÚ·Î º¸³» ¹è°æ »ö»óÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. ´ëÈ»óÀÚ°¡ ÀÌ ¸Þ½ÃÁö¿¡ ÀÀ´äÇÏÁö ¾ÊÀ¸¸é DefWindowProcÀÌ ÀûÀýÇÑ ½Ã½ºÅÛ »ö»óÀ» ´ë½Å ¼±ÅÃÇØ ÁØ´Ù. ¹è°æ ºê·¯½Ã¸¦ º¯°æÇÏ·Á¸é WM_INITDIALOG¿¡¼ ¹Ì¸® ¿øÇÏ´Â ºê·¯½Ã¸¦ »ý¼ºÇØ ³õ°í WM_CTLCOLORDLG ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ±× ÇÚµéÀ» ¸®ÅÏÇØ ÁØ´Ù. ÀÌ ºê·¯½Ã´Â EndDialog¿¡ ÀÇÇØ ´ëÈ»óÀÚ°¡ Æı«µÉ ¶§ °°ÀÌ ÇØÁ¦ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ½ÇÇàÁßÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù. |
Ç÷§Æû |
95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|