SetWindowLong

SetWindowLong ÇÔ¼ö´Â ÁöÁ¤ÇÑ Ã¢ Ư¼ºÀ» º¯°æÇÕ´Ï´Ù. ÇÔ¼ö¸¦ ¶ÇÇÑ ¼³Á¤ 32-ºñÆ® (long) °ªÀ» ÁöÁ¤µÈ µÈ ¿ÀÇÁ¼Â¿¡¼­ âÀÇ º°µµ ⠸޸𸮿¡.

·Õ SetWindowLong ( HWND  hWnd, / / â ó¸®intnIndex, / / ¼³Á¤ ÇÏ´Â °ªÀÇ ¿ÀÇÁ¼Â±ädwNewLong / / »õ °ª);
 

¸Å°³ º¯¼ö

hWnd
â °í, °£Á¢ÀûÀ¸·Î âÀÌ ¼ÓÇÑ Å¬·¡½º¿¡ ´ë ÇÑ ÇÚµé.
nIndex
¼³Á¤ °ªÀ» 0ºÎÅÍ ½ÃÀÛ ¿ÀÇÁ¼ÂÀ» ÁöÁ¤ ÇÕ´Ï´Ù. À¯È¿ÇÑ °ªÀÇ ¹üÀ§´Â 0 4; ¸¶À̳ʽº ¿©ºÐÀÇ Ã¢ ¸Þ¸ð¸®ÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ÅëÇØ ¿¹¸¦ µé¾î, 12 °³ ÀÌ»óÀÇ ¹ÙÀÌÆ®ÀÇ Ãß°¡ ¸Þ¸ð¸®¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì °ªÀÌ 8 ¼¼ ¹ø° 32 ºñÆ® Á¤¼ö À妽º µÉ °Í ÀÌ´Ù. ´Ù¸¥ °ªÀ» ¼³Á¤ ÇÏ·Á¸é ´ÙÀ½ °ª Áß Çϳª¸¦ ÁöÁ¤ÇÕ´Ï´Ù:
°ª ¾×¼Ç
GWL_EXSTYLE »õ·Î¿î È®Àå â ½ºÅ¸ÀÏ ¼³Á¤.
GWL_STYLE »õ·Î¿î â ½ºÅ¸ÀÏ ¼³Á¤.
GWL_WNDPROC â ÇÁ·Î½ÃÀú¿¡ ´ë ÇÑ »õ ÁÖ¼Ò ¼³Á¤.
GWL_HINSTANCE »õ ÀÀ¿ë ÇÁ·Î±×·¥ ÀνºÅϽº ÇÚµéÀ» ¼³Á¤.
GWL_ID À©µµ¿ìÀÇ »õ·Î¿î ½Äº°ÀÚ ¼³Á¤.
GWL_USERDATA â¿¡ ¿¬°á µÈ 32 ºñÆ® °ªÀ» ¼³Á¤ ÇÕ´Ï´Ù. °¢ âÀÇ Ã¢À» ¸¸µç ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ »ç¿ë Çϱâ À§ÇÑ ÇØ´ç 32 ºñÆ® °ªÀÌ.

HWnd ¸Å°³ º¯¼ö ´ëÈ­ »óÀÚ¸¦ ½Äº° ÇÏ´Â °æ¿ì ´ÙÀ½ °ª »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.:
°ª ¾×¼Ç
DWL_DLGPROC ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀúÀÇ »õ ÁÖ¼Ò ¼³Á¤.
DWL_MSGRESULT ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼­ ó¸® ÇÏ´Â ¸Þ½ÃÁöÀÇ ¹Ýȯ °ªÀ» ¼³Á¤.
DWL_USER °³ÀÎ ÇÚµé ¶Ç´Â Æ÷ÀÎÅÍ¿Í °°Àº ÀÀ¿ë ÇÁ·Î±×·¥¿¡´Â »õ Ãß°¡ Á¤º¸ ¼³Á¤.

dwNewLong
´ëü °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù.

¹Ýȯ °ª

ÇÔ¼ö°¡ ¼º°ø ÇÏ¸é ¹Ýȯ °ªÀº ÀÌÀü °ªÀÌ ÁöÁ¤µÈ µÈ 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 ÇÏÁö ¾Ê½À´Ï´Ù.

QuickInfo

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

 

Index