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, ½Ã½ºÅÛ Ãß°¡ ¸Þ½ÃÁö ´ëÈ »óÀÚ¸¦ ÆÄ±« ÇÏ´Â ÀýÂ÷¸¦ º¸³»°í ´Ù½Ã ´ëÈ »óÀÚ¸¦ »ý¼º ÇÏ´Â ÇÔ¼ö¿¡ ´ëÈ »óÀÚÀÇ ¹Ýȯ °ªÀ» ¹Ýȯ ÇÕ´Ï´Ù.