¸ð´Þ ´ëÈ­ »óÀÚ ¸¸µé±â

DialogBox ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© ¸ð´Þ ´ëÈ­ »óÀÚ¸¦ ¸¸µì´Ï´Ù. ½Äº°ÀÚ ¶Ç´Â ´ëÈ­ »óÀÚ ÅÛÇø´ ¸®¼Ò½ºÀÇ À̸§ ¹× ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀúÀÇ ÁÖ¼Ò¸¦ ÁöÁ¤ ÇØ¾ß ÇÕ´Ï´Ù. DialogBox ÇÔ¼ö ¼­½Ä ÆÄÀÏ ·Îµå ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÏ °í »ç¿ëÀÚ°¡ ´ëÈ­ »óÀÚ¸¦ ´ÝÀ» ¶§±îÁö ¸ðµç »ç¿ëÀÚ ÀÔ·ÂÀ» ó¸®.

´ÙÀ½ ¿¹Á¦¿¡¼­´Â ÀÀ¿ë ÇÁ·Î±×·¥ »ç¿ëÀÚ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¸Þ´º¿¡¼­ Ç׸ñ »èÁ¦ ¸í·ÉÀ» ¼±Åà ÇÏ¸é ¸ð´Þ ´ëÈ­ »óÀÚ¸¦ Ç¥½Ã ÇÕ´Ï´Ù. (¾î¶² »ç¿ëÀÚ°¡ ÀÔ·Â ÇÑ Ç׸ñÀÇ À̸§À») ÆíÁý ÄÁÆ®·ÑÀ» Æ÷ÇÔ ÇÏ´Â ´ëÈ­ »óÀÚ¿Í È®ÀÎ ¹× Ãë¼Ò ´ÜÃß. ÀÌ·¯ÇÑ ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ÄÁÆ®·Ñ ½Äº°ÀÚ´Â ID_ITEMNAME, IDOK, IDCANCEL, °¢°¢.

¿¹Á¦ÀÇ Ã¹ ¹øÂ° ºÎºÐ ¸ð´Þ ´ëÈ­ »óÀÚ¸¦ »ý¼º ÇÏ´Â ¹®À¸·Î ±¸¼º µË´Ï´Ù. ÀÌ·¯ÇÑ ¹®Àº ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢¿¡ ´ë ÇÑ Ã¢ ÇÁ·Î½ÃÀú¿¡¼­ ¸¸µé±â ´ëÈ­ »óÀÚ¿¡¼­ ½Ã½ºÅÛ IDM_DELETEITEM ¸í·É ½Äº°ÀÚ°¡ WM_COMMAND ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¶§ ¿¹Á¦ÀÇ µÎ ¹øÂ° ºÎºÐÀÌ ÀÌ´Ù´Â ÆíÁý ÄÁÆ®·ÑÀÇ ³»¿ëÀ» °Ë»ö ÇÏ °í WM_COMMAND ¸Þ½ÃÁö¸¦ ¹ÞÀ¸¸é ´ëÈ­ »óÀÚ ´Ý½À´Ï´Ù ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú.

´ÙÀ½ ¹®Àº ¸ð´Þ ´ëÈ­ »óÀÚ¸¦ ¸¸µì´Ï´Ù. ´ëÈ­ »óÀÚ ÅÛÇø´À» ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ½ÇÇà ÆÄÀÏ¿¡ ¸®¼Ò½º ÀÌ¸ç ¸®¼Ò½º ½Äº°ÀÚ DLG_DELETEITEM°¡:

wM_COMMAND »ç·Ê: Àüȯ (LOWORD(wParam)) {IDM_DELETEITEM °æ¿ì: ¸¸¾à (DialogBox (hinst, MAKEINTRESOURCE(DLG_DELETEITEM), hwnd (DLGPROC) DeleteItemProc) = IDOK) {
 
                    / / ¸í·ÉÀ»; ¿Ï·á szItemName / Ç׸ñÀÇ À̸§À» Æ÷ÇÔ ÇÏ´Â / / /À» »èÁ¦ ÇÕ´Ï´Ù. 

                }
 
                else 
                {

/ / ¸í·ÉÀ» Ãë¼Ò ÇÕ´Ï´Ù. 

                } 
                break; 
        } 0 L ¹Ýȯ 
 

ÀÌ ¿¹Á¦¿¡¼­´Â ÀÀ¿ë ÇÁ·Î±×·¥ ´ëÈ­ »óÀÚ¿¡ ´ë ÇÑ ¼ÒÀ¯ÀÚ Ã¢À¸·Î ¸ÞÀÎ À©µµ¿ì¸¦ ½Äº°ÇÕ´Ï´Ù. óÀ½ ½Ã½ºÅÛ ´ëÈ­ »óÀÚ¿¡ Ç¥½Ã µË´Ï´Ù, ±× À§Ä¡ ¼ÒÀ¯ÀÚ Ã¢ Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ ¿ÞÂÊµÈ À§ ¸ð¼­¸®¿¡ »ó´ëÀûÀÔ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ¸í·ÉÀ¸·Î °è¼Ó ÁøÇà Çϰųª Ãë¼ÒÇÒ °ÍÀÎÁö °áÁ¤ DialogBox ¿¡¼­ ¹Ýȯ °ªÀ» »ç¿ë ÇÕ´Ï´Ù. ´ÙÀ½ ¹®Àº ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú Á¤ÀÇ.

char szItemName [80]; / / »èÁ¦ÇÒ Ç׸ñÀÇ À̸§À» ¹Þ½À´Ï´Ù. 
 
BOOL Äݹé DeleteItemProc (hwndDlg, ¸Þ½ÃÁö, wParam, lParam) HWND hwndDlg; 
UINT ¸Þ½ÃÁö; 
WPARAM wParam; 
LPARAM lParam; 
{½ºÀ§Ä¡ (¸Þ½ÃÁö) {WM_COMMAND »ç·Ê: Àüȯ (LOWORD(wParam)) {IDOK »ç·Ê: if (!GetDlgItemText (hwndDlg, ID_ITEMNAME, szItemName, 80)) * szItemName = 0; 
 
                    / /¸¦ ÅëÇØ°¡. 
 
                IDCANCEL »ç·Ê: EndDialog (hwndDlg, wParam); 
                    TRUE¸¦ ¹Ýȯ ÇÕ´Ï´Ù. 
            }} FALSE; ¹Ýȯ 
} 
 

ÀÌ ¿¹Á¦¿¡¼­´Â ÇÁ·Î½ÃÀú¸¦ ID_ITEMNAME¿¡ ÀÇÇØ ½Äº° µÈ ÆíÁý ÄÁÆ®·Ñ¿¡¼­ ÇöÀç ÅØ½ºÆ®¸¦ °Ë»ö ÇÏ·Á¸é GetDlgItemText ¸¦ »ç¿ë ÇÕ´Ï´Ù. ÇÁ·Î½ÃÀú´Â ´ÙÀ½ ¼ö½Å ÇÏ´Â ¸Þ½ÃÁö¿¡ µû¶ó IDOK ¶Ç´Â IDCANCEL, ´ëÈ­ »óÀÚ ¹Ýȯ °ªÀ» ¼³Á¤ ÇÏ °í ´ëÈ­ »óÀÚ¸¦ Á¾·á ÇÏ´Â ÇÁ·Î¼¼½º¸¦ ½ÃÀÛ ÇÏ·Á¸é EndDialog ÇÔ¼ö¸¦ È£Ãâ ÇÕ´Ï´Ù. IDOK ¹× IDCANCEL ½Äº°ÀÚ È®ÀÎ ¹× Ãë¼Ò ´ÜÃß¿¡ ÇØ´çÇÕ´Ï´Ù. ÇÁ·Î½ÃÀú È£Ãâ EndDialog, ½Ã½ºÅÛ Ãß°¡ ¸Þ½ÃÁö ´ëÈ­ »óÀÚ¸¦ ÆÄ±« ÇÏ´Â ÀýÂ÷¸¦ º¸³»°í ´Ù½Ã ´ëÈ­ »óÀÚ¸¦ »ý¼º ÇÏ´Â ÇÔ¼ö¿¡ ´ëÈ­ »óÀÚÀÇ ¹Ýȯ °ªÀ» ¹Ýȯ ÇÕ´Ï´Ù.

 

Index