SetWindowLong ÇÔ¼ö´Â ÁöÁ¤ÇÑ Ã¢ Ư¼ºÀ» º¯°æÇÕ´Ï´Ù. ÇÔ¼ö¸¦ ¶ÇÇÑ ¼³Á¤ 32-ºñÆ® (long) °ªÀ» ÁöÁ¤µÈ µÈ ¿ÀÇÁ¼Â¿¡¼ âÀÇ º°µµ ⠸޸𸮿¡.
·Õ SetWindowLong ( HWND hWnd, / / â ó¸®intnIndex, / / ¼³Á¤ ÇÏ´Â °ªÀÇ ¿ÀÇÁ¼Â±ädwNewLong / / »õ °ª);
°ª | ¾×¼Ç |
---|---|
GWL_EXSTYLE | »õ·Î¿î È®Àå â ½ºÅ¸ÀÏ ¼³Á¤. |
GWL_STYLE | »õ·Î¿î â ½ºÅ¸ÀÏ ¼³Á¤. |
GWL_WNDPROC | â ÇÁ·Î½ÃÀú¿¡ ´ë ÇÑ »õ ÁÖ¼Ò ¼³Á¤. |
GWL_HINSTANCE | »õ ÀÀ¿ë ÇÁ·Î±×·¥ ÀνºÅϽº ÇÚµéÀ» ¼³Á¤. |
GWL_ID | À©µµ¿ìÀÇ »õ·Î¿î ½Äº°ÀÚ ¼³Á¤. |
GWL_USERDATA | â¿¡ ¿¬°á µÈ 32 ºñÆ® °ªÀ» ¼³Á¤ ÇÕ´Ï´Ù. °¢ âÀÇ Ã¢À» ¸¸µç ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ »ç¿ë Çϱâ À§ÇÑ ÇØ´ç 32 ºñÆ® °ªÀÌ. |
HWnd ¸Å°³ º¯¼ö ´ëÈ »óÀÚ¸¦ ½Äº° ÇÏ´Â °æ¿ì ´ÙÀ½ °ª »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.:
°ª | ¾×¼Ç |
---|---|
DWL_DLGPROC | ´ëÈ »óÀÚ ÇÁ·Î½ÃÀúÀÇ »õ ÁÖ¼Ò ¼³Á¤. |
DWL_MSGRESULT | ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼ ó¸® ÇÏ´Â ¸Þ½ÃÁöÀÇ ¹Ýȯ °ªÀ» ¼³Á¤. |
DWL_USER | °³ÀÎ ÇÚµé ¶Ç´Â Æ÷ÀÎÅÍ¿Í °°Àº ÀÀ¿ë ÇÁ·Î±×·¥¿¡´Â »õ Ãß°¡ Á¤º¸ ¼³Á¤. |
ÇÔ¼ö°¡ ¼º°ø ÇÏ¸é ¹Ýȯ °ªÀº ÀÌÀü °ªÀÌ ÁöÁ¤µÈ µÈ 32 ºñÆ® Á¤¼ö.
ÇÔ¼ö°¡ ½ÇÆÐ ÇÏ¸é ¹Ýȯ °ªÀº 0ÀÔ´Ï´Ù. È®Àå µÈ ¿À·ù Á¤º¸¸¦ ¾òÀ» ÇÏ·Á¸é GetLastError.
ÀÌÀü °ªÀÌ ÁöÁ¤µÈ µÈ 32 ºñÆ® Á¤¼ö 0À» °æ¿ì ÇÔ¼ö°¡ ¼º°ø ÇÏ¸é ¹Ýȯ °ªÀº 0, ÇÏÁö¸¸ ÇÔ¼ö ¸¶Áö¸· ¿À·ù Á¤º¸¸¦ Áö¿ìÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº ¼º°ø ¶Ç´Â ½ÇÆи¦ °áÁ¤ ÇÏ´Â °ÍÀÌ ¾î·Á¿öÁý´Ï´Ù. ÀÌ Ã³¸® Çϱâ À§ÇØ È£Ãâ ÇÏ ¿© ¸¶Áö¸· ¿À·ù Á¤º¸¸¦ Áö¿ï ÇØ¾ß SetLastError(0) SetWindowLong¸¦ È£Ãâ Çϱâ Àü¿¡. ¹Ýȯ °ªÀÌ 0°ú 0ÀÌ ¾Æ´Ñ GetLastError °á°ú°¡ ÇÔ¼ö¿¡ ¿À·ù°¡ Ç¥½Ã µË´Ï´Ù ´ÙÀ½.
HWnd ¸Å°³ º¯¼ö¿¡ ÀÇÇØ ÁöÁ¤ µÈ âÀ» È£Ãâ ÇÏ´Â ½º·¹µå¿Í °°Àº ÇÁ·Î¼¼½º¿¡ ¼ÓÇÏÁö ¾Ê´Â SetWindowLong ÇÔ¼ö ½ÇÆÐ.
±×·¡¼ SetWindowLong »ç¿ë ÇÏ ¿© º¯°æ ³»¿ëÀÌ Àû¿ë µÇÁö °ÍÀÔ´Ï´Ù SetWindowPos ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§±îÁö ƯÁ¤ â µ¥ÀÌÅÍ Ä³½Ã.
â ÇÁ·Î½ÃÀú WindowProc Äݹé ÇÔ¼ö ¼³¸í¿¡ ÁöÁ¤ µÈ °¡À̵å¶óÀÎÀ» Áؼö ÇØ¾ß ÇÕ´Ï´Ù GWL_WNDPROC À妽º ÇÔ²² SetWindowLong ¸¦ »ç¿ë ÇÏ ¿© â ÇÁ·Î½ÃÀú¸¦ ´ëü ÇÏ´Â °æ¿ì.
°æ¿ì¿¡¼´Â SetWindowLong DWL_MSGRESULT À妽º¿Í ´ëÈ ÇÁ·Î½ÃÀú¿¡ ÀÇÇØ Ã³¸® µÇ´Â ¸Þ½ÃÁö¿¡ ´ë ÇÑ ¹Ýȯ °ªÀ» ¼³Á¤ Çϸé TRUE ¹Ýȯ ÇØ¾ß Á÷Á¢ ³ªÁß. ±×·¸Áö ¾ÊÀ¸¸é, â ¸Þ½ÃÁö¸¦ ¹Þ°í ´ëÈ ÇÁ·Î½ÃÀú¿¡¼ °á°ú ¾î¶² ÇÔ¼ö¸¦ È£Ãâ ÇÏ´Â °æ¿ì Áßø µÈ â ¸Þ½ÃÁö ¹Ýȯ °ªÀ» DWL_MSGRESULT¸¦ »ç¿ë ÇÏ ¿© ¼³Á¤ÇÑ µ¤¾î¾µ ¼ö ÀÖ½À´Ï´Ù.
GWL_WNDPROC À妽º SetWindowLong È£Ãâ âÀ» ¸¸µå´Â µ¥ »ç¿ë ÇÏ´Â window Ŭ·¡½ºÀÇ ÇÏÀ§ Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ÇÏÀ§ Ŭ·¡½º´Â ½Ã½ºÅÛ Å¬·¡½º¸¦ ¼ö ÀÖÁö¸¸ ¾ø´Â ÇÏÀ§ â Ŭ·¡½º¸¦ »ç¿ë ÇÏ´Â ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ »ý¼º ÇÑ´Ù. SetWindowLong ÇÔ¼ö´Â ÀÌÀü ÇÏ´Â ´ë½Å »õ â ÇÁ·Î½ÃÀú¸¦ È£Ãâ ÇÏ ¿© ½Ã½ºÅÛÀÌ Æ¯Á¤ â Ŭ·¡½º¿Í ¿¬°á µÈ â ÇÁ·Î½ÃÀú¸¦ º¯°æ ÇÏ ¿© â ÇÏÀ§ Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ CallWindowProc¸¦ È£Ãâ ÇÏ ¿© ÀÌÀü â ÇÁ·Î½ÃÀú¿¡ »õ â ÇÁ·Î½ÃÀú¿¡ ÀÇÇØ Ã³¸® µÇÁö ¸Þ½ÃÁö¸¦ Àü´Þ ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ÀÀ¿ë ÇÁ·Î±×·¥À» â ÇÁ·Î½ÃÀúÀÇ Ã¼ÀÎÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
RegisterClassEx ÇÔ¼ö¸¦ ÇÔ²² »ç¿ë ÇÏ´Â WNDCLASSEX ±¸Á¶Ã¼ÀÇ cbWndExtra ¸â¹ö¿¡ 0ÀÌ ¾Æ´Ñ °ªÀ» ÁöÁ¤ ÇÏ ¿© ¿©ºÐÀÇ Ã¢ ¸Þ¸ð¸® ¿¹¾à.
ÀÚ½Ä Ã¢ÀÇ ºÎ¸ð º¯°æ GWL_HWNDPARENT À妽º¿Í SetWindowLong ¸¦ È£Ãâ ÇÏÁö ÇÕ´Ï´Ù. SetParent ÇÔ¼ö¸¦ ´ë½Å »ç¿ë.
Windows CE: NIndex ¸Å°³ º¯¼ö 4 ¹ÙÀÌÆ®ÀÇ ¹è¼ö ¿©¾ß ÇÕ´Ï´Ù.
Á¤·Ä µÇÁö ¾ÊÀº ¾×¼¼½º´Â Áö¿ø µÇÁö ¾Ê½À´Ï´Ù.
´ÙÀ½ nIndex ¸Å°³ º¯¼ö °ªÀº Áö¿ø µÇÁö ¾Ê½À´Ï´Ù.:
GWL_HINSTANCE
GWL_HWNDPARENT
GWL_USERDATA
Windows CE ¹öÀü 2.0 ÀÌ»ó nIndex ¸Å°³ º¯¼ö¿¡¼ DWL_DLGPROC °ªÀ» Áö¿ø ÇÏÁö¸¸ Windows CE 1.0 ÇÏÁö ¾Ê½À´Ï´Ù.
nbsp;?Windows &NT: ¹öÀü 3.1 ÀÌ»óÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.
Windows:Windows 95 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Windows CE:¹öÀü 1.0 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Çì´õ:Winuser.h¿¡¼ ¼±¾ðÇÕ´Ï´Ù.
°¡Á®¿À±â ¶óÀ̺귯¸®:User32.lib¸¦ »ç¿ë ÇÕ´Ï´Ù.
À¯´ÏÄÚµå:Windows NT¿¡¼ À¯´ÏÄÚµå¿Í ANSI ¹öÀüÀ¸·Î ±¸Çö.
â Ŭ·¡½º °³¿ä â Ŭ·¡½º ÇÔ¼ö, CallWindowProc, GetWindowLong, RegisterClassEx SetParent, WindowProc, WNDCLASSEX