Àμö |
wParam : ÆùÆ®ÀÇ ÇÚµé. NULLÀÏ °æ¿ì ½Ã½ºÅÛ ÆùÆ®¸¦ »ç¿ëÇÑ´Ù. lParam : ÆùÆ®¸¦ º¯°æÇÑ ÈÄ ÄÁÆ®·ÑÀ» ´Ù½Ã ±×¸± °ÍÀÎÁö ¾Æ´ÑÁö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀÌ TRUEÀ̸é ÄÁÆ®·ÑÀº ÀÚ±â ÀÚ½ÅÀ» ´Ù½Ã ±×¸°´Ù. WM_CREATE³ª WM_INITDIALOG¿¡¼ ÆùÆ®¸¦ º¯°æÇÑ´Ù¸é ±»ÀÌ ´Ù½Ã ±×¸± ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ÀÌ Àμö´Â FALSE·Î ÁØ´Ù. |
¼³¸í |
ÄÁÆ®·ÑÀÇ ÆùÆ®¸¦ º¯°æÇÑ´Ù. Ç¥ÁØ ÄÁÆ®·Ñ ¹× °øÅë ÄÁÆ®·ÑÀº ±âº»ÀûÀ¸·Î ½Ã½ºÅÛ ÆùÆ®·Î ÅؽºÆ®¸¦ Ãâ·ÂÇÏ¸ç ´ëÈ»óÀÚ¿¡ ÀÖ´Â ÄÁÆ®·ÑÀÇ °æ¿ì ´ëÈ»óÀÚÀÇ ÆùÆ®¿Í °°Àº ÆùÆ®¸¦ »ç¿ëÇÑ´Ù. ½ÇÇàÁß¿¡ ÄÁÆ®·ÑÀÇ ±Û²ÃÀ» º¯°æÇÏ°íÀÚ ÇÑ´Ù¸é ÆùÆ® ¿ÀºêÁ§Æ®¸¦ ¸ÕÀú ¸¸µç ÈÄ ÀÌ ¸Þ½ÃÁö·Î ÆùÆ®ÀÇ ÇÚµéÀ» Àü´ÞÇÏ¸é µÈ´Ù. ÄÁÆ®·ÑÀÇ ÆùÆ®¸¦ º¯°æÇÏ´Â °¡Àå ÁÁÀº ¶§´Â ´ëÈ»óÀÚ°¡ WM_INITDIALOG ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§, ¶Ç´Â ¿À¹ö·¦µå À©µµ¿ìÀÇ °æ¿ì WM_CREATE ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ÀÌ´Ù. Áï, ÄÁÆ®·ÑÀÌ »ý¼ºµÈ Á÷ÈÄ, ȸ鿡 º¸À̱â Á÷Àü¿¡ ÆùÆ®¸¦ ¹Ù²Ù¾î¾ß È¸é ¶³¸²µµ ¾ø°í ´Ù½Ã ±×¸± ÇÊ¿äµµ ¾ø¾î °¡Àå ÁÁ´Ù. ¹°·Ð ½ÇÇàÁß¿¡¶óµµ ÆùÆ®¸¦ ÀÚÀ¯·Ó°Ô º¯°æÇÒ ¼ö ÀÖÁö¸¸ ÆùÆ® º¯°æ¿¡ ÀÇÇØ ÄÁÆ®·ÑÀÌ ´Ù½Ã ±×·ÁÁ®¾ß ÇϹǷΠº¸±â¿¡ ÁÁÁö ¾Ê´Ù. ÄÁÆ®·ÑÀÇ ÅؽºÆ® Ãâ·Â¿¡ »ç¿ëÇÒ ÆùÆ®´Â ÄÁÆ®·ÑÀÇ ºÎ¸ð°¡ »ý¼ºÇØ¾ß ÇÏ¸ç ´Ù »ç¿ëÇÏ°í ³ ÈÄ¿¡ Á÷Á¢ Æı«ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ½ÇÇàÁß¿¡ ÄÁÆ®·ÑÀÇ ÆùÆ®¸¦ ¹Ù²Û´Ù°í Çؼ ÄÁÆ®·ÑÀÇ Å©±â°¡ ¹Ù²î´Â °ÍÀº ¾Æ´Ï´Ù. µû¶ó¼ ÆùÆ®¸¦ º¯°æÇÒ ÇÊ¿ä°¡ ÀÖ´Â ÄÁÆ®·ÑÀº ¹Ì¸® º¯°æµÉ ÆùÆ®ÀÇ Å©±â¿¡ ¸Â´Â ÃæºÐÇÑ Å©±â·Î »ý¼ºÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÄÁÆ®·ÑÀÇ ÅؽºÆ®°¡ ÄÁÆ®·Ñ ¹Ù±ùÀ¸·Î »ßÁ® ³ª¿Í À߸± ¼ö°¡ ÀÖ´Ù. |
¸®ÅÏ |
¾ø´Ù. |
¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ¿¡µðÆ® ÄÁÆ®·ÑÀÇ ÆùÆ®¸¦ ½ÇÇàÁß¿¡ º¯°æÇÑ´Ù. HWND hEdit; HFONT hFont; LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; TCHAR Mes[]="ÁÂ¿ì ¸¶¿ì½º ¹öÆ°À» ´©¸£¸é ¿¡µðÆ®ÀÇ ±Û²ÃÀ» º¯°æÇÕ´Ï´Ù"; switch(iMessage) { case WM_CREATE: hEdit=CreateWindow("edit",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE, 10,10,400,200,hWnd,(HMENU)0,g_hInst,NULL); hFont=CreateFont(20,0,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1, VARIABLE_PITCH | FF_ROMAN,"±Ã¼"); SendMessage(hEdit,WM_SETFONT,(WPARAM)hFont,(LPARAM)FALSE); SetWindowText(hEdit,"±Û²Ã º¯°æ Å×½ºÆ® Áß"); SetFocus(hEdit); return 0; case WM_LBUTTONDOWN: SendMessage(hEdit,WM_SETFONT,(WPARAM)hFont,(LPARAM)TRUE); return 0; case WM_RBUTTONDOWN: SendMessage(hEdit,WM_SETFONT,(WPARAM)NULL,(LPARAM)TRUE); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,10,250,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: DeleteObject(hFont); PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } WM_CREATE¿¡¼ ¿¡µðÆ® ÄÁÆ®·Ñ¿¡ »ç¿ëÇÒ ±Ã¼ 20Çȼ¿ÀÇ ÆùÆ®¸¦ ¹Ì¸® »ý¼ºÇØ µÎ¾úÀ¸¸ç ¿¡µðÆ® ÄÁÆ®·Ñ·Î WM_SETFONT ¸Þ½ÃÁö¸¦ º¸³» ¾ÕÀ¸·Î ÀÌ ±Û²ÃÀ» »ç¿ëÇϵµ·Ï ÇÏ¿´´Ù. ÀÌ ´Ü°è¿¡¼´Â ¾ÆÁ÷ ÄÁÆ®·ÑÀÌ È¸é¿¡ º¸À̱â ÀüÀ̹ǷΠ´Ù½Ã ±×¸®±â¸¦ ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸ç µû¶ó¼ lParamÀ¸·Î´Â FALSE¸¦ Àü´ÞÇÏ¿´´Ù. ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸£¸é ÀÌ ÆùÆ®·Î ´Ù½Ã º¯°æÇÏ¸ç ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°À» ´©¸£¸é ½Ã½ºÅÛ ÆùÆ®·Î µ¹¾Æ°£´Ù. À̶§´Â ½ÇÇàÁß¿¡ ÆùÆ®¸¦ º¯°æÇÏ´Â °ÍÀ̹ǷΠlParamÀº TRUE·Î ÁÖ¾î ÄÁÆ®·ÑÀÌ ÀÚ½ÅÀ» ´Ù½Ã ±×¸®µµ·Ï ÇØ ÁÖ¾î¾ß ÇÑ´Ù. WM_DESTROY¿¡¼´Â ÆùÆ®¸¦ Á¦°ÅÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ´ëÈ»óÀÚÀÇ ¹öÆ° ÄÁÆ®·Ñ ÆùÆ®¸¦ ½ÇÇàÁß¿¡ ¸¶¿ì½º ÁÂ¿ì ¹öÆ°À» ´·¯ º¯°æÇÑ´Ù. HFONT hFont; BOOL CALLBACK MainDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam) { switch(iMessage) { case WM_INITDIALOG: hDlgMain = hDlg; hFont=CreateFont(35,0,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1, VARIABLE_PITCH | FF_ROMAN,"±Ã¼"); return TRUE; case WM_LBUTTONDOWN: SendDlgItemMessage(hDlg,IDC_BUTTON1,WM_SETFONT,(WPARAM)hFont,(LPARAM)TRUE); return 0; case WM_RBUTTONDOWN: SendDlgItemMessage(hDlg,IDC_BUTTON1,WM_SETFONT,(WPARAM)NULL,(LPARAM)TRUE); return 0; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: case IDCANCEL: EndDialog(hDlg,IDOK); DeleteObject(hFont); return TRUE; } return FALSE; } return FALSE; } ÆùÆ®¸¦ º¯°æÇÏ´õ¶óµµ ÄÁÆ®·Ñ ÀÚüÀÇ Å©±â´Â º¯ÇÏÁö ¾Ê±â ¶§¹®¿¡ ¾Æ·¡ ±×¸²Ã³·³ ÅؽºÆ®ÀÇ ÀϺθ¸ º¸ÀÏ ¼öµµ ÀÖ´Ù. ÀÌ·² ¶§´Â º¯°æµÉ ÆùÆ® Å©±â¿¡ ¸ÂÃß¾î ¹Ì¸® ÄÁÆ®·ÑÀ» Å©°Ô ¸¸µé¾î ³õ°Å³ª ¾Æ´Ï¸é ½ÇÇàÁß¿¡ ÆùÆ® Å©±â¿¡ ¸Â°Ô ÄÁÆ®·ÑÀÇ Å©±âµµ °°ÀÌ ´Ã·Á ÁÖ¾î¾ß ÇÑ´Ù. |
Ç÷§Æû |
95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|