ÀÌ ³ëÆ®¿¡¼´Â MFC ¸Þ½ÃÁö ¸Ê ½Ã¼³¡£
¹®Á¦
Microsoft Windows À̶õ º»ÁúÀûÀ¸·Î °¡»ó ÇÔ¼ö ¸Þ½Ã¡ ±â´ÉÀ» »ç¿ë ÇÏ ¿© â Ŭ·¡½º¿¡ ±¸Çö ÇÕ´Ï´Ù. °ü·Ã µÈ ¸Þ½ÃÁöÀÇ Å« ¼ýÀÚ ¶§¹®¿¡ ¾öû³ª°Ô Å« vtable °á°ú °¢ Windows ¸Þ½ÃÁö¿¡ ´ë ÇÑ º°µµ °¡»ó ÇÔ¼ö¸¦ Á¦°ø ÇÏ¡£
¶ÇÇÑ ½Ã½ºÅÛ Á¤ÀÇ Windows ¸Þ½ÃÁö ¼ö°¡ ½Ã°£ÀÌ Áö³²¿¡ µû¶ó º¯°æ ÀÌÈÄ ±×¸®°í ƯÁ¤ ÀÀ¿ë ÇÁ·Î±×·¥ ÀÚüÀÇ ÀϺΠWindows ¸Þ½ÃÁö¸¦ Á¤ÀÇ ÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù ÀÌÈÄ ÀÎÅÍÆäÀ̽º º¯°æ ±âÁ¸ ÄÚµå ħÀÔ ÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â °£Á¢ ÂüÁ¶ ¼öÁØÀ» ¸Þ½ÃÁö ¸Ê ¸ÞÄ¿´ÏÁò Á¦°ø¡£
°³¿ä
MFC´Â ÀüÅëÀûÀÎ Windows ÇÁ·Î±×·¥¿¡¼ â¿¡ º¸³½ ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â switch ¹® ´ë½ÅÀ» Á¦°ø ÇÕ´Ï´Ù. ÀûÀý ÇÑ ¸â¹ö ÇÔ¼ö¸¦ ÀÚµ¿À¸·Î È£Ãâ ÇÏ °í ¸Þ½ÃÁö â¿¡ ÀÇÇØ ó¸® µÉ ¶§¿¡ ¸â¹ö ÇÔ¼ö¿¡ ¸Þ½ÃÁö¿¡¼ ¸ÅÇÎÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ½ÃÁö Áöµµ ½Ã¼³ °¡»ó ÇÔ¼ö¸¦ ºñ½ÁÇÑ ¼ö ÀÖµµ·Ï ¼³°è µÇ¾úÁö¸¸ Ãß°¡ ÇýÅà ºÒ°¡´É c + + °¡»ó ÇÔ¼ö¡£
¸Þ½ÃÁö ¸Ê Á¤ÀÇ
Ŭ·¡½º¿¡ ´ë ÇÑ ¼¼ °¡Áö ¸â¹ö¸¦ ¼±¾ð ÇÏ´Â DECLARE_MESSAGE_MAP ¸ÅÅ©·Î¡£
ÀÌ ¸ÅÅ©·Î ¸Þ½ÃÁö ¸ÊÀ» »ç¿ë ÇÏ´Â ¸ðµç Ŭ·¡½ºÀÇ ¼±¾ð¿¡ ¹èÄ¡ µÇ¾î¾ß ÇÕ´Ï´Ù. ±ÔÄ¢¿¡ µû¶ó ±×°ÍÀº Ŭ·¡½º ¼±¾ðÀÇ ³¡ ¿¡ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î:
cMyWnd Ŭ·¡½º: °ø¿ë CMyParentWndClass
{
nbsp;? / / ³» ¹°°Ç...
º¸È£ µÈ:
?? //{{AFX_MSG(CMyWnd)
?? afx_msg OnPaint(); ¹«È¿
?? //}}AFX_MSG
DECLARE_MESSAGE_MAP()
}(&N)
AppWizard ¹× Classwizard¿¡¼ »õ Ŭ·¡½º¸¦ ¸¸µé ¶§ »ý¼º ÇÏ´Â Çü½ÄÀÔ´Ï´Ù. / / {{°í / /}} °ýÈ£ Classwizard¿¡ ÇÊ¿äÇÑ¡£
¸Þ½ÃÁö ¸Ê Å×ÀÌºí ¸Þ½ÃÁö ¸Ê Ç׸ñÀ» È®Àå ÇÏ´Â ¸ÅÅ©·ÎÀÇ ÁýÇÕÀ¸·Î Á¤ÀÇ µË´Ï´Ù. ÀÌ ¸Þ½ÃÁö ¸ÊÀ» ó¸® Çϴ Ŭ·¡½º¿Í ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö Àü´Þ µË´Ï´Ù ºÎ¸ð Ŭ·¡½º¸¦ Á¤ÀÇ ÇÏ´Â BEGIN_MESSAGE_MAP ¸ÅÅ©·Î È£ÃâÀ¸·Î ½ÃÀÛ ÇÏ´Â Å×À̺í. END_MESSAGE_MAP ¸ÅÅ©·Î È£ÃâÀ¸·Î ³¡³ª´Â Å×ÀÌºí¡£
ÀÌ·¯ÇÑ µÎ °¡Áö ¸ÅÅ©·Î È£Ãâ »çÀÌÀÌ ¸Þ½ÃÁö ¸Ê¿¡ ÀÇÇØ ó¸® µÇ´Â °¢ ¸Þ½ÃÁö¿¡ ´ë ÇÑ Ç׸ñÀÌÀÔ´Ï´Ù. ¸ðµç Ç¥ÁØ Windows ¸Þ½ÃÁö´Â ÇØ´ç ¸Þ½ÃÁö¿¡ ´ë ÇÑ Ç׸ñÀ» »ý¼º ÇÏ´Â ON_WM_xxx (¿©±â¼ xxx´Â ¸Þ½ÃÁö À̸§À») ÇüÅÂÀÇ ¸ÅÅ©·Î¡£
°¢ Windows ¸Þ½ÃÁöÀÇ ¸Å°³ º¯¼ö¸¦ Ç®°í Çü½Ä ¾ÈÀü¼ºÀ» Á¦°ø¿¡ ´ë ÇÑ Ç¥ÁØ ÇÔ¼ö ¼¸íÀ» Á¤ÀÇ µÇ¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ ¼¸íÀº AFXWIN ÆÄÀÏ¿¡¼ ãÀ» ¼ö ÀÖ½À´Ï´Ù.CwndÀÇ ¼±¾ð¿¡ HÀÔ´Ï´Ù. °¢ Çϳª ½±°Ô ½Äº°ÇÒ ¼ö ÀÖµµ·Ï word afx_msg À¸·Î Ç¥½Ã¡£
¸Þ¸ðnbsp;??ClassWizard afx_msg Ű¿öµå¸¦ »ç¿ë ÇÏ ¿© ¸Þ½ÃÁö ¸Ê 󸮱⠼±¾ð¿¡¼ ÇÊ¿ä·Î(&N)¡£
ÀÌ·¯ÇÑ ÇÔ¼ö ¼¸íÀº °£´ÜÇÑ ±ÔÄ¢À» »ç¿ë ÇÏ ¿© ÆÄ»ý Çß´Ù. ÇÔ¼ö À̸§Àº Ç×»ó "On"À¸·Î ½ÃÀÛ µË´Ï´Ù. ÀÌ Á¦°Å WM_ Windows ¸Þ½ÃÁöÀÇ À̸§, À¯ÀÏÇÑ µÚ °¢ ´Ü¾îÀÇ Ã¹ ±ÛÀÚ¸¦ ´ë¹®ÀڷΠǥ½Ã ÇÕ´Ï´Ù. ¸Å°³ º¯¼ö ¼ø¼´Â wParam ÀÌ¾î¼ LOWORD (lParam) ´ÙÀ½ HIWORD(lParam). »ç¿ë ÇÏÁö ¾Ê´Â ¸Å°³ º¯¼ö°¡ Àü´Þ µÇÁö ¾Ê½À´Ï´Ù. MFC Ŭ·¡½º¸¦ ·¡ÇÎÇϹǷΠ¸ðµç ÇÚµéÀÌ ÀûÀý ÇÑ MFC °³Ã¼¿¡ ´ë ÇÑ Æ÷ÀÎÅÍ º¯È¯ µË´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼´Â WM_PAINT ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â ¹ß»ý ÇÕ´Ï´Ù CMyWnd:: OnPaint ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö
BEGIN_MESSAGE_MAP (CMyWnd, CMyParentWndClass)
nbsp;? //{{AFX_MSG_MAP(CMyWnd)
?? ON_WM_PAINT()
?? //}}AFX_MSG_MAP
END_MESSAGE_MAP()(&N)
¸Þ½ÃÁö ¸Ê Å×À̺í ÇÔ¼ö ¶Ç´Â Ŭ·¡½º Á¤ÀÇÀÇ ¹üÀ§ ¹Û¿¡ ¼ Á¤ÀÇ µÇ¾î¾ß ÇÕ´Ï´Ù. Extern "C" ºí·Ï ¾È¿¡ ¹èÄ¡ µÇÁö ÇØ¾ß¡£
¸Þ¸ðnbsp;??ClassWizard »çÀÌ ¹ß°ß µÇ´Â ¸Þ½ÃÁö ¸Ê Ç׸ñÀ» ÆíÁýÇÒ °Í ÀÌ´Ù´Â / / {{°í / /}} ÄÚ¸àÆ® ºê·¡Å¶(&N)¡£
»ç¿ëÀÚ Á¤ÀÇ Windows ¸Þ½ÃÁö
»ç¿ëÀÚ Á¤ÀÇ ¸Þ½ÃÁö ON_MESSAGE ¸ÅÅ©·Î »ç¿ë ÇÏ ¿© ¸Þ½ÃÁö Áöµµ¿¡ Æ÷ÇÔ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ÅÅ©·Î ¸Þ½ÃÁö ¹øÈ£ ¹× ÆûÀÇ ¸â¹ö ÇÔ¼ö:
nbsp;???/ / Ŭ·¡½º ¼±¾ð ¾È¿¡
?? afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
¿¹¸¦ µé¾î:
?? # define WM_MYMESSAGE (WM_USER + 100)
BEGIN_MESSAGE_MAP (CMyWnd, CMyParentWndClass)
?? ON_MESSAGE (WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()(&N)
ÀÌ ¿¹Á¦¿¡¼ ¿ì¸®´Â Windows ¸Þ½ÃÁö id´Â Ç¥ÁØ WM_USER ¸Þ½ÃÁö »ç¿ëÀÚ Á¤ÀÇ ´ë ÇÑ ±âº»¿¡¼ ÆÄ»ý µÈ »ç¿ëÀÚ ÁöÁ¤ ¸Þ½ÃÁö¿¡ ´ë ÇÑ Ã³¸®±â¸¦ ¼³Á¤ ÇÕ´Ï´Ù. ÀÌ Ã³¸®±â Äڵ带 °°Àº È£Ãâ ¼ö ÀÖ½À´Ï´Ù.:
CWnd * pWnd =...;
pWnd gt;SendMessage(WM_MYMESSAGE)(&G)
ÀÌ Á¢±Ù¹ýÀ» »ç¿ë ÇÏ ¿© »ç¿ëÀÚ Á¤ÀÇ ¸Þ½ÃÁöÀÇ ¹üÀ§´Â 0x7fff WM_USER ¹üÀ§¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¸Þ¸ðnbsp;??ClassWizard ¸¶¹ý»ç »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼ ÀÔ·Â ON_MESSAGE 󸮱⠷çƾÀ» Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù: ´ç½ÅÀº Visual c + + ÆíÁý±â¿¡¼ ±×µéÀ» ¼öµ¿À¸·Î ÀÔ·Â ÇØ¾ß ÇÕ´Ï´Ù. ClassWizard ÀÌ·¯ÇÑ Ç׸ñÀ» ±¸¹® ºÐ¼® ÇÏ °í ÇÏ¸é ´Ù¸¥ ¸Þ½ÃÁö ¸Ê Ç׸ñ ó·³ Ž»ö ÇÏ´Â ÀÏ´Ü ÀÔ·Â ÇÏ °í,(&N)¡£
µî·Ï µÈ Windows ¸Þ½ÃÁö
:: RegisterWindowMessage ÇÔ¼ö´Â ½Ã½ºÅÛ Àüü¿¡¼ °íÀ¯ ÇØ¾ß º¸Àå ÇÏ´Â »õ â ¸Þ½ÃÁö¸¦ Á¤ÀÇ ÇÏ´Â µ¥ »ç¿ë ÇÕ´Ï´Ù. ¸ÅÅ©·Î ON_REGISTERED_MESSAGE Àº ÀÌ·¯ÇÑ ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â µ¥ »ç¿ë µË´Ï´Ù. ÀÌ ¸ÅÅ©·Î Çã¿ë µÈ µî·ÏµÈ âÀÌ ÀÖ´Â °¡±î¿î UINT º¯¼ö À̸§À» ¸Þ½ÃÁö idÀÔ´Ï´Ù. ¿¹¸¦ µé¾î
cMyWnd Ŭ·¡½º: °ø¿ë CMyParentWndClass
{
°ø°³:
nbsp;? CMyWnd();
//{{AFX_MSG(CMyWnd)
?? afx_msg LRESULT OnFind(WPARAM wParam, LPARAM lParam);
?? //}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
Á¤Àû UINT ±Ùó WM_FIND = RegisterWindowMessage("COMMDLG_FIND");
BEGIN_MESSAGE_MAP (CMyWnd, CMyParentWndClass)
?? //{{AFX_MSG_MAP(CMyWnd)
?? ON_REGISTERED_MESSAGE (WM_FIND, OnFind)
?? //}}AFX_MSG_MAP
END_MESSAGE_MAP()(&N)
µî·Ï µÈ Windows ¸Þ½ÃÁö ID º¯¼ö (À§ÀÇ ¿¹Á¦¿¡¼ WM_FIND) À̾î¾ß ±Ùó º¯¼ö ¶§¹®¿¡ ON_REGISTERED_MESSAGE ±¸Çö ÇÏ´Â ¹æ¹ý¡£
ÀÌ Á¢±Ù¹ýÀ» »ç¿ë ÇÏ ¿© »ç¿ëÀÚ Á¤ÀÇ ¸Þ½ÃÁöÀÇ ¹üÀ§ 0xC000 0xFFFF ¹üÀ§¿¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.
¸Þ¸ðnbsp;??ClassWizard ¸¶¹ý»ç »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼ ÀÔ·Â ON_REGISTERED_MESSAGE 󸮱⠷çƾÀ» Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù, ±×¸®°í ´ç½ÅÀº ¼öµ¿À¸·Î ÅØ½ºÆ® ÆíÁý±â¿¡¼ ±×µéÀ» ÀÔ·Â ÇØ¾ß ÇÕ´Ï´Ù. ClassWizard ÀÌ·¯ÇÑ Ç׸ñÀ» ±¸¹® ºÐ¼® ÇÏ °í ÇÏ¸é ´Ù¸¥ ¸Þ½ÃÁö ¸Ê Ç׸ñ ó·³ Ž»ö ÇÏ´Â ÀÏ´Ü ÀÔ·Â ÇÏ °í,(&N)¡£
¸í·É ¸Þ½ÃÁö
¸Þ´º ¹× ¾×¼¿·¯·¹ÀÌÅÍ ¸í·É ¸Þ½ÃÁö ON_COMMAND ¸ÅÅ©·Î ¸Þ½ÃÁö ¸Ê¿¡¼ ó¸® µË´Ï´Ù. ÀÌ ¸ÅÅ©·Î ¸â¹ö ÇÔ¼ö »Ó¸¸ ¾Æ´Ï¶ó ¸í·É ID¸¦ Çã¿ëÇÕ´Ï´Ù. ÁöÁ¤ µÈ ¸í·É ID ¸â¹ö ÇÔ¼ö¿¡ ÀÇÇØ ó¸® µË´Ï´Ù Å©°Å³ª wParam °ú ƯÁ¤ WM_COMMAND ¸Þ½ÃÁö ¸Þ½ÃÁö ¸Ê Ç׸ñ¿¡ ÁöÁ¤ µÈ. ¸í·É 󸮱⠸â¹ö ÇÔ¼ö ¸Å°³ º¯¼ö¸¦ ¹Þ¾Æ ÇÏ °í void¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ¸ÅÅ©·Î Æû:
ON_COMMAND (id, memberFxn)
¸í·É ¾÷µ¥ÀÌÆ® ¸Þ½ÃÁö ON_COMMAND 󸮱â¿Í °°Àº ¸ÞÄ¿´ÏÁòÀ» ÅëÇØ ¶ó¿ìÆÃµË´Ï´Ù. ON_UPDATE_COMMAND_UI ¸ÅÅ©·Î ´ë½Å »ç¿ë µË´Ï´Ù. ¸í·É ¾÷µ¥ÀÌÆ® 󸮱⠸â¹ö ÇÔ¼ö´Â ´ÜÀÏ ¸Å°³ º¯¼ö, CCmdUI °³Ã¼¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ »ç¿ë ÇÏ °í void¸¦ ¹Ýȯ. ¸ÅÅ©·Î Æû
ON_UPDATE_COMMAND_UI (id, memberFxn)
¸í·É ¸Þ½ÃÁö 󸮱âÀÇ È®Àå µÈ ÇüÅ´ °í±Þ ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ON_COMMAND_EX ¸ÅÅ©·Î ´ë½Å »ç¿ë ÇÏ °í ON_COMMAND ±â´ÉÀÇ »óÀ§ ÁýÇÕÀ» Á¦°ø ÇÕ´Ï´Ù. È®ÀåµÈ ¸í·É 󸮱⠸â¹ö ÇÔ¼ö´Â ´ÜÀÏ ¸Å°³ º¯¼ö, ¸í·É ID°¡ Æ÷ÇÔ µÈ UINT °í´Â BOOLÀ» ¹Ýȯ ÇÕ´Ï´Ù. ´Ù¸¥ ¸í·É ´ë»ó °³Ã¼¸¦ °è¼Ó ±×·¸Áö ¾ÊÀ¸¸é ¶ó¿ìÆÃ BOOL ¹Ýȯ ¸í·ÉÀÌ Ã³¸® µÇ¾ú½À´Ï´Ù ³ªÅ¸³»´Â true À̾î¾ß ÇÑ´Ù,¡£
À§ÀÇ ÆûÀÇ ¿¹:
#definenbsp;?? ID_MYCMD 100
# define ID_COMPLEX 101(&N)
afx_msg OnMyCommand(); ¹«È¿
afx_msg void OnUpdateMyCommand (CCmdUI * pCmdUI);
BOOL OnComplexCommand(UINT nID) afx_msg
ON_COMMAND (ID_MYCMD, OnMyCommand)
ON_UPDATE_COMMAND_UI (ID_MYCMD, OnUpdateMyCommand)
ON_COMMAND_EX (ID_MYCMD, OnComplexCommand)
void CMyClass::OnMyCommand()
{
nbsp;? / / ¸í·ÉÀ» ó¸®
}
void CMyClass::OnUpdateMyCommand (CCmdUI * pCmdUI)
{
?? / / Pcmdui¿Í UI »óÅ ¼³Á¤
}
BOOL CMyClass::OnComplexCommand(UINT nID)
{
?? / / ¸í·ÉÀ» ó¸®
?? TRUE¸¦ ¹Ýȯ ÇÕ´Ï´Ù.
}(&N)
´ÜÀÏ ¸í·É 󸮱⠸í·É ¹üÀ§¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ON_COMMAND_RANGE ¹× ON_COMMAND_RANGE_EX ¿¡ ´ë ÇÑ °í±Þ »ç¿ë¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸ÅÅ©·Î¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Á¦Ç° ¼³¸í¼¸¦ ÂüÁ¶ ÇϽʽÿÀ.
¸Þ¸ðnbsp;??ClassWizard ¸¸µå´Â ON_COMMAND ¹× ON_UPDATE_COMMAND_UI 󸮱⸦ Áö¿ø ÇÏÁö¸¸ ¸¸µå´Â ON_COMMAND_EX ¶Ç´Â ON_COMMAND_RANGE 󸮱⸦ Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª Ŭ·¡½º ¸¶¹ý»ç´Â ±¸¹® ºÐ¼® ÇÏ °í ¸ðµç ¼¼ ¸í·É 󸮱⠺¯Á¾ ã¾Æº¸±â Çã¿ë ÇÏ´Â,(&N)¡£
ÄÁÆ®·Ñ ¾Ë¸² ¸Þ½ÃÁö
â¿¡ ÀÚ½Ä ÄÁÆ®·Ñ¿¡¼ ¿©ºÐÀÇ ºñÆ® ÀڽеéÀÇ ¸Þ½ÃÁö¿¡ ÀÖ´Â Á¤º¸ÀÇ Àü¼Û µÇ´Â ¸Þ½ÃÁö ¸ÅÇÎ Ç׸ñ: ÄÁÆ®·ÑÀÇ idÀÔ´Ï´Ù. ¸Þ½ÃÁö ¸Ê Ç׸ñ¿¡ ÁöÁ¤ µÈ ¸Þ½ÃÁö 󸮱â BN_CLICKED, µî (1) ÄÁÆ®·Ñ ¾Ë¸² ÄÚµå (LparamÀÇ ³ôÀº ´Ü¾î) ¸Þ½ÃÁö ¸Ê Ç׸ñ¿¡ ÁöÁ¤ µÈ ¾Ë¸² ÄÚµå¿Í ÀÏÄ¡ ÇÏ °í (2) ÄÁÆ®·Ñ ID (wParam) ¸Þ½ÃÁö ¸Ê Ç׸ñ¿¡ ÁöÁ¤ µÈ ÄÁÆ®·Ñ ID¿Í ÀÏÄ¡ ÇÏ´Â °æ¿ì¿¡ È£Ãâ¡£
»ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ ¾Ë¸² ¸Þ½ÃÁö ON_CONTROL ¸ÅÅ©·Î »ç¿ë ÇÏ ¿© »ç¿ëÀÚ ÁöÁ¤ ¾Ë¸² ÄÚµå¿Í ¸Þ½ÃÁö ¸Ê Ç׸ñÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ÅÅ©·Î Æû
ON_CONTROL (wNotificationCode, id, memberFxn)
°í±Þ »ç¿ë¿¡ ´ë ÇÑ ON_CONTROL_RANGE µ¿ÀÏÇÑ Ã³¸®±â¸¦ »ç¿ë ÇÏ ¿© ÄÁÆ®·ÑÀÇ ¹üÀ§¿¡¼ ƯÁ¤ ÄÁÆ®·Ñ ¾Ë¸²À» ó¸® Çϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸¶¹ý»ç »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼ ON_CONTROL ¶Ç´Â ON_CONTROL_RANGE 󸮱⸦ ¸¸µé±â¸¦ Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù. ¼öµ¿À¸·Î ÅØ½ºÆ® ÆíÁý±â¿Í ÇÔ²² ±×µéÀ» ÀÔ·Â ÇØ¾ß ÇÕ´Ï´Ù. ClassWizard ÀÌ·¯ÇÑ Ç׸ñÀ» ±¸¹® ºÐ¼® ÇÏ °í ÇÏ¸é ´Ù¸¥ ¸Þ½ÃÁö ¸Ê Ç׸ñ ó·³ Ž»ö ÇÏ´Â ÀÏ´Ü ÀÔ·Â ÇÏ °í,¡£
Windows °ø¿ë ÄÁÆ®·Ñ ´õ °·ÂÇÑ WM_NOTIFY º¹Àâ ÇÑ Á¦¾î ¾Ë¸²À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. ÀÌ ¹öÀüÀÇ MFC´Â ON_NOTIFY ¹× ON_NOTIFY_RANGE ¸ÅÅ©·Î ÇÔ²²ÀÌ »õ·Î¿î ¸Þ½ÃÁö¿¡ ´ë ÇÑ Á÷Á¢ Áö¿ø ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸ÅÅ©·Î¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Á¦Ç° ¼³¸í¼¸¦ ÂüÁ¶ ÇϽʽÿÀ.
±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)