À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   Child Window #2 1998/07/15 (09:52)
À̸§ ±èÈ¿¿ø
¹øÈ£ 28
Á¶È¸ 366
º»¹® < Child Window >
< üũ »óÀÚ >
üũ »óÀÚ´Â ÅؽºÆ®¸¦ °¡Áø »ç°¢Çü »óÀÚÀ̸ç, ÅؽºÆ®´Â ÀϹÝÀûÀ¸·Î
¿À¸¥ÂÊ¿¡ ³ªÅ¸³­´Ù. ±×·¯³ª, BS_LEFTTEXT¸¦ Æ÷ÇÔÇϸé,¿ÞÂÊ¿¡
³ªÅ¸³ª°Ô ÇÒ ¼ö ÀÖ´Ù.

BS_CHECKBOXÀÇ °æ¿ì¿¡´Â BM_SETCHECK¸Þ½ÃÁö¸¦ º¸³»¼­, üũ
Ç¥½Ã¸¦ ÇØ¾ß ÇÑ´Ù. wParamÀÎÀڴ üũ Ç¥½Ã¸¦ Çϱâ À§Çؼ­´Â
1·Î, Á¦°ÅÇϱâ À§Çؼ­´Â 0À¸·Î ¼³Á¤ÇÑ´Ù.

BM_GETCHECK¸¦ ÀÌ¿ëÇÏ¿©, »óŸ¦ ¾òÀ» ¼ö ÀÖ´Ù.
ÄÁÆ®·Ñ·ÎºÎÅÍ WM_COMMAND¸Þ½ÃÁö¸¦ ó¸®ÇÒ ¶§,
XÇ¥½Ã¸¦ Åä±ÛÇϱâ À§ÇØ ´ÙÀ½°ú °°Àº Äڵ带 »ç¿ëÇÑ´Ù.

SendMessage((HWND lParam, BM_SETCHECK, (WPARAM)
!SendMessage((HWND lParam, BM_GETCHECK,0,0),0);

´ÙÀ½°ú °°ÀÌ Çϸé X·Î üũ »óÀÚ¸¦ ÃʱâÈ­ÇÒ ¼ö ÀÖ´Ù.

SendMessage(hwndButton, BM_GETCHECK,1,0);


BS_AUTOCHECKBOX¿¡¼­´Â ÀÚµ¿ÀûÀ¸·Î on/off¸¦ Åä±ÛÇϸç,
À©µµ¿ì ÇÁ·Î½ÃÀú´Â WM_COMMAND¸¦ ¹«½ÃÇÒ ¼ö ÀÖ°í,
´ÜÃßÀÇ »óŸ¦ ¾ò±â À§ÇØ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

iCheck=(int) SendMessage(hwndButton, BM_GETCHECK,0,0);

üũµÇ¾úÀ¸¸é iCheckÀÇ °ªÀº TRUE³ª 0ÀÌ ¾Æ´Ñ °ªÀ̸ç,
±×·¸Áö ¾ÊÀ¸¸é FALSE³ª 0ÀÌ´Ù.


< ¶óµð¿À ´ÜÃß >
üũ »óÀÚ¿Í ´Þ¸® ¶óµð¿À ´ÜÃß´Â Åä±Û·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
Áï, ¶óµð¿À ´ÜÃ߸¦ µÎ ¹ø°·Î ´­·¶À» ¶§¿¡µµ ±× »óÅ´Â
¹Ù²îÁö ¾ÊÀº ä·Î ³²¾Æ ÀÖ´Ù.
¶óµð¿À ´ÜÃß¿¡¼­´Â WM_COMMAND¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§,
wParamÀÌ 1ÀÎ BM_SETCHECK¸Þ½ÃÁö¸¦ º¸³» üũ¸¦ ÇØ¾ß ÇÑ´Ù.

SendMessage(hwndButton,BM_SETCHECK,1,0);

°°Àº ±×·ìÀÇ ´Ù¸¥ ´ÜÃß¿¡´Â wParamÀÌ 1À¸·Î üũ¸¦ Ãë¼ÒÇÒ ¼ö ÀÖ´Ù.

SendMessage(hwndButton,BM_SETCHECK,0,0);


< ´ÜÃß ÅؽºÆ® º¯°æÇϱâ >

´ÜÃß³ª À©µµ¿ì¿¡ ÀÖ´Â ÅؽºÆ®¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.
SetWindowText(hwnd,pszString);

À©µµ¿ìÀÇ ÇöÀç ÅؽºÆ®¸¦ ¾ò±â À§Çؼ­´Â,

iLength=GetWindowText(hwnd,pszBuffer,iMaxLength);

iMaxLengthÀÎÀÚ´Â pszBuffer¿¡ ÀÇÇØ ÁöÁ¤µÈ ¹öÆÛ·Î º¹»çÇÒ
¹®ÀÚÀÇ ÃÖ´ë °³¼ö¸¦ ÁöÁ¤ÇÑ´Ù.

iLength=GetWindowTextLength(hwnd);

·Î ƯÁ¤ ¹®ÀÚ¿­¿¡ ´ëÇÑ ÇÁ·Î±×·¥À» ÁغñÇÒ ¼ö ÀÖ´Ù.


< ´ÜÃß º¸À̱â¿Í È°¼ºÈ­Çϱâ >
Â÷Àϵå À©µµ¿ì Ŭ·¡½º¿¡¼­ WS_VISIBLEÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù¸é,
ShowWindow¸¦ È£ÃâÇÒ ¶§±îÁö´Â Â÷Àϵå À©µµ¿ì´Â Ç¥½ÃµÇÁö ¾Ê´Â´Ù.

ShowWindow(hwndChild, SW_SHOWNORMAL);

À©µµ¿ì Ŭ·¡½º¿¡¼­ ES_VISIBLEÀ» Æ÷ÇÔÇϸé, ShowWindowÇÔ¼ö¸¦
È£ÃâÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
´ÙÀ½°ú °°ÀÌ À©µµ¿ì¸¦ ¼û±æ ¼ö ÀÖ´Ù.

ShowWindow(hwndChild,SW_HIDE);

´ÙÀ½Àº ÇöÀç Â÷Àϵå À©µµ¿ì°¡ º¸ÀÌ´ÂÁö ¾Ê´ÂÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.

IsWindowVisible(hwndChild);

´ÙÀ½Àº Â÷Àϵå À©µµ¿ì¸¦ È°¼ºÈ­ÇÏ°í, ºñÈ°¼ºÈ­ÇÒ ¼ö ÀÖ´Ù.

EnableWindow(hwndChild,FALSE); // ºñÈ°¼ºÈ­
EnableWindow(hwndChild,TRUE);  // È°¼ºÈ­
IsEnableWindow(hwndChild);     // È°¼ºÈ­¿©ºÎ


< ´ÜÃß¿Í ÀÔ·Â Æ÷Ä¿½º >

Â÷Àϵå À©µµ¿ì ÄÁÆ®·ÑÀÌ ÀÔ·Â Æ÷Ä¿½º¸¦ °¡Áö°í ÀÖ´Ù¸é, ¸¶¿ì½º°ú
°°Àº ½ºÆäÀ̽º ¹Ù¿¡¸¸ ÀÀ´äÇÑ´Ù. ±×·¯³ª, ÇÁ·Î±×·¥¿¡¼­ Å°º¸µå
ó¸® Á¦¾î¸¦ ÀҴ´ٴ ¹®Á¦Á¡ÀÌ ÀÖ´Ù.
´ÙÀ½°ú °°ÀÌ Çϸé, Â÷Àϵå À©µµ¿ì°¡ ÀÔ·Â Æ÷Ä¿½º¸¦ ¾òÀ» ¶§¿¡,
ÀÚ½ÅÀÇ ÀÔ·Â Æ÷Ä¿½º¸¦ ÀúÀåÇÑ´Ù.

case WM_KILLFOCUS:
if(hwnd==GetParent((HWND) wParam))
 SetFocus(hwnd);
return 0;

* WM_KILLFOCUS¸Þ½ÃÁö´Â wParamÀÎÀÚ·Î, ÀÔ·Â Æ÷Ä¿½º¸¦
¹Þ´Â ¿ì´Ïµµ¿ìÀÇ ÇÚµéÀ» °¡Áø´Ù.

±×·¯³ª, ÀÌ ¹æ¹ýÀº ´ÜÃß°¡ °áÄÚ ÀÔ·Â Æ÷Ä¿½º¸¦ ¾òÀ» ¼ö ¾øÀ¸¸ç,
´ÜÃß°¡ ½ºÆäÀ̽º ¹Ù¿¡ °áÄÚ ÀÀ´äÇÒ ¼ö ¾øÀ½À» ¶æÇÑ´Ù.

°¡Àå ÁÁÀº ¹æ¹ýÀº, TabÅ°¸¦ ÀÌ¿ëÇÏ¿©, ÀÔ·Â Æ÷Ä¿½º¸¦ ´ÜÃß¿¡¼­
´Ù¸¥ °÷À¸·Î ¿Å±æ ¼ö ÀÖ´Â ¹æ¾ÈÀ» Á¦½ÃÇÏ´Â °ÍÀÌ´Ù.
window SubclassingÀ̶ó´Â ±â¹ýÀ¸·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù.

HomePage Backward Forward Post Reply List
1998 by swindler