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

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   [API] Child Window 1998/07/14 (08:57)
À̸§ ±èÈ¿¿ø
¹øÈ£ 24
Á¶È¸ 440
º»¹® <Child Window Control>

Child Window Proc¿¡¼­´Â GerParent¸¦ È£ÃâÇÏ¿© Paretn
Window HandleÀ» ¾òÀ» ¼ö ÀÖ´Ù.

hwndParent=GetParent(hwndChild);
SendMessage(hwndParent,iMsg,wParam,lParam);


<Child Window ¸¸µé±â>
hwndButton[i]=CreateWindow{
"button",
button[i].text,
WS_CHILD | WS_VISIBLE | button[i].style,
// 10°³°¡ Á¸Àç
// BS_PUSHBUTTON,
// BS_DEFPUSHBUTTON,
// BS_CHECKBOX,
// BS_AUTOCHECKBOX,
// BS_RADIOBUTTON,
// BS_3STATE,
// BS_AUTO3STATE,
// BS_GROUPBOX,
// BS_AUTORADIOBUTTON,
// BS_OWNERDRAW

cxChar,
cyChar*(1+2*i),
20*cxChar,
7*cyChar/4,
hwnd,
(HMENU) i,
((LPCREATESTRUCT) lParam)->hInstance,
//WM_CREATE ¸Þ½ÃÁö µ¿¾È¿¡ lParamÀÌ »ç½Ç»ó
// hInstance¿ä¼Ò¸¦ °¡Áö´Â CREATESTRUCT
// (creation structure)Çü½ÄÀÇ ±¸Á¶Ã¼¿¡ ´ëÇÑ
// Æ÷ÀÎÅÍÀÌ´Ù.
NULL
);


<Child´Â ÀÚ½ÅÀÇ Parent¿Í ´ëÈ­ÇÑ´Ù.>
¹öÆ°À» Ŭ¸¯Çϸé WM_COMMAND¸Þ½ÃÁö°¡ Child Window Control
¿¡¼­ Parent Window¿¡ ÀüÇØÁø´Ù.

LOWORD(wParam) : Â÷Àϵå À©µµ¿ì ID
HIWORD(wParam) : ÀÎ½Ä ÄÚµå
lParam : Â÷Àϵå À©µµ¿ì ÇÚµé

ÀνÄÄÚµå´Â
BN_CLICKED 0
BN_PAINT 1
BN_HILITE 2
BN_UNHILITE 3
BN_DISABLE 4
BN_DOUBLECLICKED 5
1-5±îÁöÀÇ ÀνÄÄÚµå´Â BS_USERBUTTONÀ̶ó´Â ´ÜÃß ½ºÅ¸ÀÏ¿¡
´ëÇÑ °ÍÀ̹ǷÎ, ¿À·ÎÁö BN_CLICKED Äڵ常À» º¸°Ô µÈ´Ù.

<Parent´Â ÀÚ½ÅÀÇ Child¿Í ´ëÈ­ÇÑ´Ù.>
À©µµ¿ì ÇÁ·Î½ÃÀúµµ Â÷Àϵå À©µµ¿ì ÄÁÆ®·Ñ¿¡ ¸Þ½ÃÁö¸¦ º¸³¾¼ö ÀÖ´Ù.

BM_GETCHECK
BM_SETCHECK
BM_GETSTATE
BM_SETSTATE
BM_SETSTYLE

BM_GETCHECK, BM_SETCHECK´Â üũ »óÀÚ¿Í, ¶óµð¿À ´ÜÃßÀÇ Ã¼Å© Ç¥½Ã
»óŸ¦ ¾ò°í ¼³Á¤Çϱâ À§ÇÑ ¸Þ½ÃÁöÀÌ´Ù.

BM_GETSTATE, BM_SETSTATE´Â ¸¶¿ì½º·Î ´©¸£°Å³ª ½ºÆäÀ̽º¸¦ ´­·¶À»
¶§, ±× »óÅ°¡ Á¤»óÀÎÁö ´­·È´ÂÁö¸¦ ¶æÇÑ´Ù.

BM_SETSTYLEÀº ´ÜÃß°¡ ¸¸µé¾îÁø ÈÄ¿¡ ½ºÅ¸ÀÏÀ» º¯°æÇÒ ¼ö
ÀÖµµ·Ï ÇÑ´Ù.

´ÜÃßÀÇ ¹ø½ÀÓÀ» Èä³»³¾ ¼ö ÀÖ´Ù.

SendMessage(hwndButton,BM_SETSTAE,1,0);
SendMessage(hwndButton,BM_SETSTAE,0,0);

BM_GETSTATE¸¦ º¸³»¸é, ´ÜÃß°¡ ´­·ÁÁ³À¸¸é TRUE¸¦
Á¤»ó »óÅÂÀ̸é FALSE(0)¸¦ ¹ÝȯÇÑ´Ù.
±×·¯³ª, ´©¸£±â ´ÜÃß´Â on/offÁ¤º¸¸¦ ±â¾ïÇÏÁö ¾Ê±â ¶§¹®¿¡,
BM_SETCHECK, BM_GETCHECK¸Þ½ÃÁö´Â »ç¿ëµÇÁö ¾Ê´Â´Ù.

Â÷ÀϵåÀÇ À©µµ¿ì ÇÚµéÀ» ¾Ë¸é

id=GetWindowLong(hwndChild,GWL_ID);

¸¦ ÀÌ¿ëÇÏ¿©, Â÷Àϵå À©µµ¿ìÀÇ ¾ÆÀ̵𸦠¾Ë ¼ö ÀÖ´Ù.

id=GetDlgCtrlID(hwndChild);

hwndChild=GetDlgItem(hwndParent,id);


HomePage Backward Forward Post Reply List
1998 by swindler