Åø¹ÙÀÇ ½ºÅ¸Àϰú´Â º°µµ·Î Åø ¹öưµµ °³º°ÀûÀ¸·Î ½ºÅ¸ÀÏÀ» °¡Áö¸ç ¹öưÀ» µî·ÏÇÒ ¶§ TBBUTTON ±¸Á¶Ã¼ÀÇ fsStyle ¸â¹ö·Î ¹öưÀÇ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. ¹°·Ð TB_SETBUTTONINFO ¸Þ½ÃÁö³ª TB_SETSTYLE µîÀÇ ¸Þ½ÃÁö¸¦ »ç¿ëÇÏ¸é ¾ðÁ¦µçÁö ¹öưÀÇ ½ºÅ¸ÀÏÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â Åø ¹öưÀÇ ¸ðµç ½ºÅ¸ÀÏÀ» Å×½ºÆ®Çϱâ À§ÇØ ¸¸µç °ÍÀÌ´Ù. °¢°¢ÀÇ ½ºÅ¸ÀÏÀ» °¡Áö´Â ¹öưÀ» ¸¸µé°í Å×½ºÆ®ÇØ º¸µµ·Ï ÇÏÀÚ.
#include <commctrl.h>
#include "resource.h"
#define ID_TOOLBAR 100
HWND hToolBar;
COLORREF Back;
DWORD iMode;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT crt;
HBRUSH hBrush;
TBBUTTON ToolBtn[]={
{0,10,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},
{5,0,0,TBSTYLE_SEP,0,0,0,0},
{1,11,TBSTATE_ENABLED | TBSTATE_CHECKED,TBSTYLE_CHECKGROUP,0,0,0,1},
{2,12,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0,0,2},
{3,13,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0,0,3},
{5,0,0,TBSTYLE_SEP,0,0,0,0},
{4,14,TBSTATE_ENABLED,TBSTYLE_CHECK | TBSTYLE_AUTOSIZE,0,0,0,4},
{5,15,TBSTATE_ENABLED,TBSTYLE_DROPDOWN | TBSTYLE_NOPREFIX,0,0,0,5},
{6,16,TBSTATE_ENABLED,TBSTYLE_DROPDOWN | 0x80/*BTNS_WHOLEDROPDOWN*/,0,0,0,6}
};
TCHAR Mes[]="Åø ¹öưÀÇ ¿©·¯ ¼Ó¼ºµéÀ» Å×½ºÆ®ÇÕ´Ï´Ù.";
TCHAR *szString="¸í·É¹öư\0»¡°£»ö\0ÃÊ·Ï»ö\0ÆÄ¶õ»ö\0Åõ¸í\0&Drop\0&Drop2\0";
switch(iMessage) {
case WM_CREATE:
InitCommonControls();
hToolBar=CreateToolbarEx(hWnd, WS_CHILD | WS_VISIBLE | WS_BORDER
| TBSTYLE_FLAT,
ID_TOOLBAR, 10, g_hInst, IDB_BITMAP1, ToolBtn, 9,
16,16,16,16,sizeof(TBBUTTON));
SendMessage(hToolBar,TB_ADDSTRING,NULL,(LPARAM)szString);
// SendMessage(hToolBar,TB_SETEXTENDEDSTYLE,0,(LPARAM)TBSTYLE_EX_DRAWDDARROWS);
Back=RGB(255,0,0);
iMode=OPAQUE;
return 0;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case 10:
MessageBox(hWnd,"Ǫ½¬ ¹öưÀÔ´Ï´Ù","¾Ë¸²",MB_OK);
break;
case 11:
Back=RGB(255,0,0);
InvalidateRect(hWnd,NULL,TRUE);
break;
case 12:
Back=RGB(0,255,0);
InvalidateRect(hWnd,NULL,TRUE);
break;
case 13:
Back=RGB(0,0,255);
InvalidateRect(hWnd,NULL,TRUE);
break;
case 14:
if (SendMessage(hToolBar,TB_ISBUTTONCHECKED,14,0)) {
iMode=TRANSPARENT;
} else {
iMode=OPAQUE;
}
InvalidateRect(hWnd,NULL,TRUE);
}
return 0;
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code) {
case TBN_DROPDOWN:
HMENU hPopup;
POINT pt;
hPopup=CreatePopupMenu();
AppendMenu(hPopup,MF_STRING,0,"ÆË¾÷ Çϳª");
AppendMenu(hPopup,MF_STRING,1,"ÆË¾÷ µÑ");
AppendMenu(hPopup,MF_STRING,2,"ÆË¾÷ ¼Â");
GetCursorPos(&pt);
TrackPopupMenu(hPopup,TPM_LEFTALIGN,pt.x,pt.y,0,hWnd,NULL);
DestroyMenu(hPopup);
return TBDDRET_DEFAULT;
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
GetClientRect(hWnd,&crt);
hBrush=CreateSolidBrush(Back);
FillRect(hdc,&crt,hBrush);
DeleteObject(hBrush);
SetBkMode(hdc,iMode);
TextOut(hdc,10,50,Mes,lstrlen(Mes));
EndPaint(hWnd, &ps);
return 0;
case WM_SIZE:
SendMessage(hToolBar,TB_AUTOSIZE,0,0);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
½ÇÇàÇØ º¸¸é »¡°£»ö ȸ鿡 ÅØ½ºÆ®°¡ Ãâ·ÂµÇ¾î ÀÖ´Ù. ȸéÀÇ »ö»óÀº ¼¼ °³ÀÇ Ã¼Å© ±×·ì ¹öưÀ¸·Î º¯°æÇÒ ¼ö ÀÖÀ¸¸ç ÅØ½ºÆ®ÀÇ Åõ¸í ¿©ºÎ´Â Åõ¸í üũ ¹öưÀ¸·Î ¼±ÅÃÇÑ´Ù. ½ÇÇàÁßÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù.
ù¹øÂ° ¹öưÀÌ ¸í·É ¹öưÀε¥ °¡Àå ÈçÇÏ°í °¡Àå ½¬¿î ½ºÅ¸ÀÏÀÌ´Ù. ÀÌ ¹öưÀ» ´©¸£¸é ¾¦ µé¾î°£ ¸ð¾çÀÌ µÇ¸ç ´Ù½Ã ¹öưÀ» ³õÀ¸¸é ºÎ¸ð À©µµ¿ì·Î WM_COMMAND ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. À̶§ LOWORD(wParam)À¸·Î´Â ¹öưÀÇ ¸í·É ID°¡ Àü´ÞµÈ´Ù. Åø¹Ù¿¡ Æ÷ÇԵǾî ÀÖ´Ù´Â Â÷ÀÌÁ¡ÀÌ ÀÖÀ» »Ó Ç¥ÁØ ¹öư ÄÁÆ®·ÑÀÇ µ¿ÀÛ°ú ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. ´Ü¼øÈ÷ ¸í·ÉÀ» ³»¸®°íÀÚ ÇÒ ¶§ ÀÌ ½ºÅ¸ÀÏÀÇ ¹öưÀÌ »ç¿ëµÈ´Ù.
µÎ¹øÂ° ¹öưÀº ±¸ºÐ ¿©¹éÀÌ´Ù. TBSTYLE_SEP ½ºÅ¸ÀÏÀ» °¡Áö´Â ¹öưÀº ½ÇÁ¦·Î ¹öưÀÌ ¾Æ´Ï¶ó ¹öư°£ÀÇ °£°ÝÀ» ¶ç¿ì±â À§ÇÑ ºó °ø°£À¸·Î »ç¿ëµÇ¸ç FLAT Åø¹Ù¿¡¼´Â ¼öÁ÷¼±À¸·Î ³ªÅ¸³´Ù. À̶§ TBBUTTON ±¸Á¶Ã¼ÀÇ iBitmap ¸â¹ö·Î ±¸ºÐ ¿©¹éÀÇ ÆøÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹Á¦¿¡¼´Â ±¸ºÐ ¿©¹éÀÇ ÆøÀ» 5Çȼ¿·Î ÁöÁ¤ÇÏ¿´´Ù. ¸¹Àº ¹öưµéÀÌ ÀÏ·Ä·Î ¹ÐÂøµÇ¾î ÀÖÀ¸¸é º¸±â¿¡µµ °©°©ÇÏ°í ¹öưÀ» ¼±ÅÃÇϱ⵵ ¾î·Á¿öÁö¹Ç·Î ¹öưÀ» ±â´Éº°·Î ±×·ìÁþ°í Áß°£ Áß°£¿¡ ±¸ºÐ ¿©¹éÀ» ³Ö¾î ÁÖ´Â °ÍÀÌ º¸±â ÁÁ´Ù.
¼¼¹øÂ°~´Ù¼¸¹øÂ° ¹öưÀº üũ ±×·ìÀ» ±¸¼ºÇÑ´Ù. üũ ±×·ìÀº ÀÎÁ¢ÇÑ ¼¼ ¹öưÀÌ ÇϳªÀÇ ±×·ìÀÌ µÇ¸ç ¼Â Áß Çϳª¸¸ ¼±ÅÃµÉ ¼ö ÀÖ´Ù. ±×·ì Áß ÇÑ ¹öưÀÌ ´·¯Áö¸é ±×·ì¿¡ ¼ÓÇÑ ³ª¸ÓÁö ¹öưÀº ¼±ÅÃÀÌ ÇØÁ¦µÈ´Ù. ¿¹Á¦¿¡¼ ÀÌ Ã¼Å© ±×·ìÀº ¼¼ °¡Áö »ö»óÁß Çϳª¸¦ ¼±ÅÃÇϵµ·Ï Çϴµ¥ µÎ °¡Áö ÀÌ»óÀÇ »ö»óÀÌ µ¿½Ã¿¡ ¼±ÅÃµÉ ¼ö´Â ¾øÀ¸¹Ç·Î üũ ±×·ìÀ» ÀÌ·ç¾î¾ß ÇÑ´Ù. Ç¥ÁØ ÄÁÆ®·ÑÀÇ ¶óµð¿À ¹öư°ú °³³ä»ó µ¿ÀÏÇÏ´Ù.
üũ ¹öưÀº µÎ°¡Áö »óÅ Áß Çϳª¸¦ ¼±ÅÃÇÒ ¶§ »ç¿ëÇÏ¸ç ´©¸¦ ¶§¸¶´Ù ¼±Åà »óŰ¡ Åä±ÛµÈ´Ù. º¸À̱â/¼û±â±â, ¼±ÅÃ/ºñ¼±ÅÃ, ÀбâÀü¿ë/¾²±â°¡´É µî°ú °°ÀÌ µÎ°¡Áö »óŸ¦ Á¶Á¤Çϱâ À§ÇÑ ¿ëµµ·Î ÀûÇÕÇÏ´Ù. ¿¹Á¦ÀÇ Åõ¸í ¹öưÀº Åõ¸í/ºÒÅõ¸í µÑ Áß Çϳª¸¦ ¼±ÅÃÇϸç ÀÌ ¹öưÀÌ ¼±ÅõǾî ÀÖÀ¸¸é ÅØ½ºÆ®°¡ Åõ¸íÇÏ°Ô Ãâ·ÂµÇ°í ±×·¸Áö ¾ÊÀ¸¸é ºÒÅõ¸íÇÏ°Ô Ãâ·ÂµÈ´Ù. Ç¥ÁØ ÄÁÆ®·ÑÀÇ Ã¼Å© ¹öư°ú °³³ä»ó µ¿ÀÏÇÏ´Ù.
ÀÌ ¹öưµµ ´Ù¸¥ ¹öư°ú ¸¶Âù°¡Áö·Î ´·¯Áö¸é WM_COMMAND ¸Þ½ÃÁö¸¦ º¸³»´Âµ¥ À̶§ ´Ü¼øÈ÷ ¹öưÀÌ ´·¯Á³´Ù´Â Á¤º¸¸¸ Àü´ÞµÉ »Ó ÇöÀç ¹öưÀÇ »óÅ´ Àü´ÞµÇÁö ¾ÊÀ¸¹Ç·Î TB_ISBUTTONCHECKED ¸Þ½ÃÁö¸¦ º¸³» ¹öưÀÇ ÇöÀç »óŸ¦ Á¶»çÇØ¾ß ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö¸¦ º¸³½ °á°ú ¼±ÅõǾî ÀÖÀ¸¸é Åõ¸í ¸ðµå·Î ¹Ù²Ù°í ±×·¸Áö ¾ÊÀ¸¸é ºÒÅõ¸í ¸ðµå·Î ¹Ù²Û´Ù. ¹öưÀÇ »óÅ´ ÀÌ ¸Þ½ÃÁö¿Ü¿¡ TB_GETSTATE³ª ´ÙÀ½°ú °°ÀÌ TB_GETBUTTONINFO ¸Þ½ÃÁö·Îµµ Á¶»çÇÒ ¼ö ÀÖ´Ù.
TBBUTTONINFO bi;
bi.cbSize=sizeof(TBBUTTONINFO);
bi.dwMask=TBIF_STATE;
bi.idCommand=14;
SendMessage(hToolBar,TB_GETBUTTONINFO,14,(LPARAM)&bi);
if (bi.fsState & TBSTATE_CHECKED) {
....
dwMask¿¡ ¾Ë°í ½ÍÀº °ªÀ» ³Ö°í idCommand¿¡ ´ë»ó ¹öưÀÇ ¸í·É ID¸¦ ´ëÀÔÇÑ ÈÄ ÀÌ ¸Þ½ÃÁö¸¦ º¸³»¸é ±× °á°ú°¡ fsState ¸â¹ö·Î ¸®ÅϵȴÙ. fsState¿¡ TBSTATE_CHECKED Ç÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖÀ¸¸é ¹öưÀÌ Ã¼Å©µÇ¾î ÀÖ´Â °ÍÀÌ´Ù.
TBSTYLE_NOPREFIX ½ºÅ¸ÀÏÀº ¹öưÀÇ Ä¸¼ÇÁß & ¹®ÀÚ°¡ ÀÖÀ¸¸é ÀÌ ¹®ÀÚ¸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. Drop, Drop2¹öưÀÌ ¸ðµÎ & ¹®ÀÚ¸¦ °¡Áö°í Àִµ¥ TBSTYLE_NOPROFIX ½ºÅ¸ÀÏÀ» °¡Áö´Â Drop ¹öưÀº &¹®ÀÚ¸¦ ±×´ë·Î º¸¿©ÁÖ´Â ¹Ý¸é Drop2 ¹öưÀº &¹®ÀÚ ´ÙÀ½¿¡ ÀÖ´Â D¹®ÀÚ¿¡ ¹ØÁÙÀ» ±×¾î º¸¿©ÁØ´Ù. ¸Þ´ºÀÇ Ä¸¼ÇÀ» Åø¹ÙÀÇ ÅØ½ºÆ®·Î Àç»ç¿ëÇÒ °æ¿ì¿¡ ÀÌ ½ºÅ¸ÀÏ·Î &¹®ÀÚÀÇ Ã³¸®¸¦ ÀûÀýÈ÷ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
Åø ¹ÙÀÇ ¹öưµéÀº Åë»ó µ¿ÀÏÇÑ Å©±â¸¦ °¡Áø´Ù. ¹öưÀÇ ÆøÀº °¡Àå ±ä ÅØ½ºÆ®ÀÇ Æø¿¡ ¸ÂÃß¾îÁö´Âµ¥ TBSTYLE_AUTOSIZE ½ºÅ¸ÀÏÀ» °¡Áö´Â ¹öưÀº ÀÌ ÆøÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸ç ÀÚ±â ÀÚ½ÅÀÇ ÅØ½ºÆ® Æø¿¡ ¸ÂÃß¾îÁø´Ù. ¿¹Á¦¿¡¼ ù¹øÂ° ¸í·É¹öưÀÇ ÅØ½ºÆ®°¡ Á¦ÀÏ ±æ±â ¶§¹®¿¡ ÀÌ ÅØ½ºÆ®ÀÇ Æø¿¡ ¸Â°Ô ¹öưÀÇ ÆøÀÌ °áÁ¤µÇ´Âµ¥ Åõ¸í ¹öưÀº TBSTYLE_AUTOSIZE ½ºÅ¸ÀÏÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ´Ù¸¥ ¹öưº¸´Ù´Â ÆøÀÌ Á¼°Ô ³ªÅ¸³´Ù. Åø ¹ÙÀÇ ¹öưµéÀº °¡±ÞÀûÀÌ¸é µ¿ÀÏÇÑ ÆøÀ» °¡Áö´Â °ÍÀÌ º¸±â¿¡ ÁÁÀ¸¹Ç·Î Àϰü¼ºÀ» À§ÇØ ÀÌ ½ºÅ¸ÀÏÀº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.
TBSTYLE_DROPDOWN ½ºÅ¸ÀÏÀ» °¡Áö´Â ¹öưÀº µå·Ó ´Ù¿î ¸Þ´º¸¦ ¿©´Â ¿ëµµ·Î ¸¹ÀÌ »ç¿ëµÈ´Ù. ÀÌ ½ºÅ¸ÀÏÀ» °¡Áö´Â ¹öưÀ» ¼±ÅÃÇϸé WM_COMMAND ¸Þ½ÃÁö ´ë½Å TBN_DROPDOWN ÅëÁö ¸Þ½ÃÁö¸¦ º¸³» Áִµ¥ ÀÌ ¶§ ÆË¾÷ ¸Þ´º¸¦ ¿¾î º¸¿© ÁÖ¸é µÈ´Ù. ¹°·Ð ´õ º¹ÀâÇÑ Á¤º¸¸¦ Àü´ÞÇϱâ À§Çؼ´Â ÆË¾÷ ´ëÈ»óÀÚ¸¦ ¿ ¼öµµ ÀÖ´Ù. ¿¹Á¦¿¡¼´Â ´Ü¼øÈ÷ ÆË¾÷ ¸Þ´º¸¦ ¸¸µé¾î ¿±â¸¸ ÇßÀ¸¸ç ¸Þ´º°¡ ¼±ÅõǾúÀ» ¶§´Â ó¸®ÇÏÁö ¾Ê¾Ò´Ù.
BTNS_WHOLEDROPDOWN ½ºÅ¸ÀÏÀº ¹öư À̹ÌÁö ¿·¿¡ ¾Æ·¡ÂÊ È»ìÇ¥¸¦ º¸¿© ÁÖ¾î ÀÌ ¹öưÀ» ´©¸£¸é ÆË¾÷ ¸Þ´º°¡ ¿¸°´Ù´Â °ÍÀ» ¸íÈ®ÇÏ°Ô Ç¥ÇöÇÑ´Ù´Â Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù. ÀÌ ½ºÅ¸ÀϰªÀº commctrl.h Çì´õ ÆÄÀÏ¿¡ 0x80À¸·Î Á¤ÀǵǾî ÀÖÀ¸¸ç _WIN32_IE°¡ 0x500ÀÌ»óÀÏ ¶§¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ºñÁÖ¾ó C++ 7.0°ú ÇÔ²² ¹èÆ÷µÇ´Â commctrl.h¿¡´Â ÀÌ ½ºÅ¸ÀϰªÀÌ Á¤ÀǵǾî ÀÖÀ¸³ª 6.0ÀÇ commctrl.h¿¡´Â °ªÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¹Ç·Î ¿¹Á¦¿¡¼´Â 0x80À» Á÷Á¢ »ç¿ëÇÏ¿´´Ù.
µå·Ó ´Ù¿î ¹öưÀÇ µ¿ÀÛ ¹æ½ÄÀº Åø ¹Ù°¡ TBSTYLE_EX_DRAWDDARROWS È®Àå ½ºÅ¸ÀÏÀ» °¡Áú ¶§ ´Þ¶óÁø´Ù. ÀÌ È®Àå ½ºÅ¸ÀÏÀÌ Àû¿ëµÇ¸é µå·Ó ´Ù¿î ¹öưÀÇ ¿À¸¥ÂÊ¿¡´Â º°µµÀÇ ºÐ¸®µÈ È»ìÇ¥ ¹öưÀÌ ³ªÅ¸³´Ù. ´ÙÀ½Àº ÀÌ È®Àå ½ºÅ¸ÀÏÀ» ÁÖ¾úÀ» ¶§¿Í ±×·¸Áö ¾ÊÀ» ¶§¸¦ ºñ±³ÇÑ °ÍÀÌ´Ù. ¿¹Á¦¿¡´Â ÀÌ È®Àå ½ºÅ¸ÀÏ ÁöÁ¤¹®ÀÌ ÁÖ¼®À¸·Î 󸮵Ǿî Àִµ¥ ÁÖ¼®À» Ç®¾î°¡¸ç ºñ±³ÇØ º¸±â ¹Ù¶õ´Ù.
ºÐ¸®µÈ È»ìÇ¥ ¹öưÀÌ ÀÖÀ» ¶§ µå·Ó ´Ù¿î ¹öư ÀÚü´Â WM_COMMAND ¸Þ½ÃÁö¸¦ º¸³»°í È»ìÇ¥ ¹öưÀÌ TBN_DROPDOWN ÅëÁö ¸Þ½ÃÁö¸¦ ´ë½Å º¸³½´Ù. ¸í·É ÀÚü¿¡ ¿©·¯ °¡Áö ¿É¼ÇÀÌ ÀÖ°í ±× Áß µðÆúÆ®°¡ ÀÖÀ» ¶§ ÀÌ·± ½ºÅ¸ÀÏÀÇ µå·Ó ´Ù¿î ¹öưÀÌ ÀûÀýÇÏ´Ù. °¡Àå ´ëÇ¥ÀûÀÎ ¿¹´Â ½ÇÇà Ãë¼Ò Åø¹ÙÀÌ´Ù.
µå·Ó ´Ù¿î ¹öưÀ» ´©¸£¸é Ãë¼Ò °¡´ÉÇÑ ¸í·ÉµéÀÇ ¸ñ·ÏÀ» º¸¿© ÁÖ¸ç Ãë¼Ò ¹öư ÀÚü´Â °¡Àå ÃÖ±Ù¿¡ ÆíÁýÇÑ ³»¿ëÀ» Ãë¼ÒÇÑ´Ù. ¹Ù·Î Á÷ÀüÀÇ ¸í·ÉÀ» Ãë¼ÒÇÒ ¶§´Â Ãë¼Ò ¹öưÀ» »ç¿ëÇÏ°í ÆíÁý ±â·ÏÀ» º¸°í Ãë¼ÒÇÒ ¹üÀ§¸¦ ¼±ÅÃÇÏ°í ½ÍÀ» ¶§´Â µå·Ó ´Ù¿îÀ» ¿¸é µÈ´Ù. º¸±â¿¡µµ Á÷°üÀûÀ̰í Åø¹ÙÀÇ ¸éÀûµµ ¸¹ÀÌ Â÷ÁöÇÏÁö ¾ÊÀ¸¹Ç·Î ½ÇÀü¿¡¼ Ȱ¿ëÇÒ¸¸ÇÏ´Ù.