¸Þ½ÃÁö º¸³»±â

SendMessage ÇÔ¼ö´Â â ÇÁ·Î½ÃÀú¿¡ Á÷Á¢ ¸Þ½ÃÁö¸¦ º¸³»´Â µ¥ »ç¿ë µË´Ï´Ù. SendMessage â ÇÁ·Î½ÃÀú¸¦ È£Ãâ ÇÏ °í ¸Þ½ÃÁö¸¦ ó¸® ÇÏ °í °á°ú ¹Ýȯ ÇÏ´Â ÇÁ·Î½ÃÀú¿¡ ´ë ÇÑ ´ë±â.

½Ã½ºÅÛ; â¿¡ ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç ÇÊ¿äÇÑ Ã¢ ÇÚµéÀÔ´Ï´Ù. ½Ã½ºÅÛ ÇÚµéÀ» »ç¿ë ÇÏ ¿© °áÁ¤ µÇ´Â â ÇÁ·Î½ÃÀú¿¡¼­ ¸Þ½ÃÁö¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù.

´Ù¸¥ ½º·¹µå¿¡¼­ º¸³½ ¸Þ½ÃÁö¸¦ ó¸® Çϱâ Àü¿¡ â ÇÁ·Î½ÃÀú¿¡ InSendMessage ÇÔ¼ö¸¦ ¸ÕÀú È£Ãâ ÇØ¾ß ÇÕ´Ï´Ù. â ÇÁ·Î½ÃÀú ÇÔ¼ö¸¦ ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ÄÁÆ®·ÑÀ» »ý¼º ÇÏ´Â ½º·¹µå¸¦ ÀÏÀ¸Å°´Â Àü¿¡ ReplyMessage ¸¦ È£Ãâ ÇØ¾ßÀÌ ÇÔ¼ö°¡ TRUE¸¦ ¹Ýȯ ÇÏ´Â °æ¿ì.

wM_USER + 5 »ç·Ê: ¸¸¾à (InSendMessage()) ReplyMessage(TRUE); 
 
    DialogBox (hInst, "MyDialogBox", hwndMain, MyDlgProc (DLGPROC)); 
    ºê·¹ÀÌÅ© 
 

ÄÁÆ®·Ñ ´ëÈ­ »óÀÚ¿¡ ´Ù¾ç ÇÑ ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Á¦¾î ¸Þ½ÃÁö ¸ð¾ç, µ¿ÀÛ ¹× ÄÁÆ®·ÑÀÇ ³»¿ëÀ» ¼³Á¤ Çϰųª ÄÁÆ®·Ñ¿¡ ´ë ÇÑ Á¤º¸¸¦ °Ë»ö ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, CB_ADDSTRING ¸Þ½ÃÁö ¼ö ÄÞº¸ »óÀÚ¿¡ ¹®ÀÚ¿­À» Ãß°¡ ÇÏ °í BM_SETCHECK ¸Þ½ÃÁö üũ ¹Ú½º ¶Ç´Â ¶óµð¿À ¹öưÀÇ Ã¼Å© »óŸ¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SendDlgItemMessage ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© ÄÁÆ®·ÑÀÇ ½Äº°ÀÚ¿Í ÄÁÆ®·ÑÀÌ Æ÷ÇÔ µÈ ´ëÈ­ »óÀÚ Ã¢ ÇÚµéÀ» ÁöÁ¤ ÇÏ´Â ÄÁÆ®·Ñ¿¡ ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼­ °¡Á®¿Â ´ÙÀ½ ¿¹Á¦¿¡¼­´Â ¸ñ·Ï »óÀÚ¿¡ ÄÞº¸ »óÀÚÀÇ ÆíÁý ÄÁÆ®·Ñ¿¡¼­ ¹®ÀÚ¿­À» º¹»ç ÇÕ´Ï´Ù. ÀÌ ¿¹Á¦¿¡¼­´Â SendDlgItemMessage ¸¦ »ç¿ë ÇÏ ¿© ÄÞº¸ »óÀÚÀÇ CB_ADDSTRING ¸Þ½ÃÁö º¸³»±â.

HWND hwndCombo; 
int cTxtLen; 
PSTR pszMem; 
 
½ºÀ§Ä¡ (uMsg) {WM_COMMAND °æ¿ì: Àüȯ (LOWORD(wParam)) {IDD_ADDCBITEM °æ¿ì: / ÄÞº¸ »óÀÚÀÇ ÇÚµé /¿Í / / ÆíÁý¿¡¼­ ¹®ÀÚ¿­ÀÇ ±æÀÌ Á¦¾î / / ÄÞº¸ »óÀÚÀÇ. 
 
                hwndCombo = GetDlgItem (hwndDlg, IDD_COMBO); 
                cTxtLen = GetWindowTextLength(hwndCombo); 
 
                / / ¹®ÀÚ¿­ ¹× º¹»ç¿¡ ´ë ÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´ç / / ¸Þ¸ð¸®¿¡ ¹®ÀÚ¿­. 
 
                pszMem (PSTR) VirtualAlloc((LPVOID) NULL (DWORD) = (cTxtLen + 1), MEM_COMMIT, PAGE_READWRITE); 
                GetWindowText (hwndCombo, pszMem, cTxtLen + 1); 
 
                / /ÀÇ ¸ñ·Ï »óÀÚ¿¡ ¹®ÀÚ¿­À» Ãß°¡ ÇÕ´Ï´Ù / / ÄÞº¸ »óÀÚ¿¡¼­ ¹®ÀÚ¿­À» Á¦°Å ÇÏ °í´Â / / ÄÞº¸ »óÀÚ ÄÁÆ®·Ñ ÆíÁý ÇÕ´Ï´Ù. 
 
                ¸¸¾à (* pszMem! = NULL) {SendDlgItemMessage (hwndDlg, IDD_COMBO, CB_ADDSTRING, 0, (DWORD) ((LPSTR) pszMem)); 
                    SetWindowText (hwndCombo, (LPSTR) NULL); 
                } / / ¸Þ¸ð¸®¸¦ ÇØÁ¦ ÇÏ °í ¹Ýȯ ÇÕ´Ï´Ù. 
 
                VirtualFree (pszMem, 0, MEM_RELEASE); 
                TRUE¸¦ ¹Ýȯ ÇÕ´Ï´Ù. 
            / / / / ´Ù¸¥ ´ëÈ­ »óÀÚ ¸í·ÉÀ» ó¸® ÇÕ´Ï´Ù. 
            / /} / / / / ´Ù¸¥ ´ëÈ­ »óÀÚ ¸Þ½ÃÁö¸¦ ó¸® ÇÕ´Ï´Ù. 
    // 
 
} 
 

 

Index