ÅÇ ÄÁÆ®·ÑÀº °íÁ¤µÈ ÇÑ ¿µ¿ª¿¡ ¿©·¯ °³ÀÇ ÆäÀÌÁö¸¦ °ãÃļ Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ÄÁÆ®·ÑÀÌ´Ù. ¹ÙÅÁȸéÀÇ µî·Ï Á¤º¸ À©µµ¿ì³ª Á¦¾îÆÇÀÇ ¾ÖÇø´µéÀ» º¸¸é ÅÇ ÄÁÆ®·ÑÀ» º¼ ¼ö Àִµ¥ ¿©·¯ °¡Áö º¹ÀâÇÑ ¼³Á¤À» °¢ ÅÇ¿¡ ³ª´©¾î¼ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÔ·Â¹Þ¾Æ¾ß ÇÒ Á¤º¸°¡ ¸¹À» ¶§ ÁÖ·Î »ç¿ëÇÑ´Ù.
ÇÁ·ÎÆÛƼ ½ÃÆ®ÀÇ Â÷Àϵå·Î Æ÷ÇԵǴ °ÍÀÌ º¸ÅëÀÌÁö¸¸ µ¶¸³µÈ ÄÁÆ®·Ñ·Îµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. MDI ÇÁ·Î±×·¥ÀÇ ¿·ÁÁø ¹®¼ ¸ñ·ÏÀ» Ç¥½ÃÇѴٵ簡 ±ä ¹®¼ÀÇ ¼½¼ÇÀ» ³ª´ ¶§µµ ÅÇ ÄÁÆ®·ÑÀÌ »ç¿ëµÈ´Ù. ÅÇ ÄÁÆ®·ÑÀ» »ý¼ºÇÒ ¶§´Â WC_TABCONTROL À©µµ¿ì ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÏ¿© CreateWindow ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ´ÙÀ½ TabCtrl ¿¹Á¦´Â ¼¼ °³ÀÇ ÆäÀÌÁö¸¦ °¡Áö´Â ÅÇ ÄÁÆ®·Ñ ¿¹Á¦ÀÌ´Ù.
#include <commctrl.h>
HWND hTab;
HWND hStatic;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
TCITEM tie;
TCHAR *arNum[3]={"ù¹øÂ° ÆäÀÌÁöÀÔ´Ï´Ù. ÅÇ ÄÁÆ®·Ñ·Î ÆäÀÌÁö¸¦ ÀüȯÇÕ´Ï´Ù.",
"¿©±â´Â µÎ¹øÂ° ÆäÀÌÁöÀÔ´Ï´Ù.",
"¸¶Áö¸· ÆäÀÌÁöÀÔ´Ï´Ù."};
switch(iMessage) {
case WM_CREATE:
InitCommonControls();
hTab=CreateWindow(WC_TABCONTROL,"",WS_CHILD | WS_VISIBLE
| WS_CLIPSIBLINGS,
0,0,0,0,hWnd,(HMENU)0,g_hInst,NULL);
hStatic=CreateWindow("static",arNum[0],WS_CHILD | WS_VISIBLE,
0,0,0,0,hWnd,(HMENU)1,g_hInst,NULL);
tie.mask=TCIF_TEXT;
tie.pszText="one";
TabCtrl_InsertItem(hTab,0,&tie);
tie.pszText="two";
TabCtrl_InsertItem(hTab,1,&tie);
tie.pszText="three";
TabCtrl_InsertItem(hTab,2,&tie);
return 0;
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code) {
case TCN_SELCHANGE:
SetWindowText(hStatic,arNum[TabCtrl_GetCurSel(hTab)]);
break;
}
return 0;
case WM_SIZE:
MoveWindow(hTab,0,0,LOWORD(lParam),HIWORD(lParam),TRUE);
MoveWindow(hStatic,LOWORD(lParam)/2-250,HIWORD(lParam)/2,500,25,TRUE);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
WM_CREATE¿¡¼ ÅÇ ÄÁÆ®·ÑÀ» »ý¼ºÇßÀ¸¸ç ¼¼ °³ÀÇ ÅÇ Ç׸ñÀ» Ãß°¡ÇÏ¿´´Ù. WM_SIZE¿¡¼´Â ÅÇ ÄÁÆ®·ÑÀÌ ÀÛ¾÷ ¿µ¿ª Àüü¸¦ °¡µæ ä¿ìµµ·Ï Çß´Ù. ÅÇÀÇ Áß¾Ó ¿µ¿ª, Áï ÆäÀÌÁöÀÇ ³»¿ëÀÌ Ãâ·ÂµÇ´Â ¿µ¿ªÀ» Ç¥½Ã ¿µ¿ª(Display Area)À̶ó°í Çϴµ¥ ÀÌ ¿µ¿ª¿¡ ÅÇÀÌ Ç¥½ÃÇÏ´Â ÆäÀÌÁö°¡ ³ªÅ¸³´Ù. ¿¹Á¦¿¡¼´Â ½ºÅÂÆ½À» Çϳª ¹èÄ¡Çϰí ÅÇÀÌ º¯°æµÉ ¶§¸¶´Ù ½ºÅÂÆ½ÀÇ ÅØ½ºÆ®¸¦ º¯°æÇÏ¿´´Ù. ½ÇÇàÁßÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù.
ÅÇ ÄÁÆ®·ÑÀÇ À§ÂÊ¿¡´Â ¼¼ °³ÀÇ ÅÇÀÌ Ç¥½ÃµÇ¾î ÀÖ°í Ç¥½Ã ¿µ¿ª¿¡´Â ½ºÅÂÆ½ ÄÁÆ®ÅçÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. À̶§ ½ºÅÂÆ½ ÄÁÆ®·ÑÀº ÅÇÀÇ Â÷Àϵ尡 ¾Æ´Ï¶ó ¸ÞÀÎ À©µµ¿ìÀÇ Â÷ÀϵåÀÓÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. ÅÇÀº Ç¥½Ã ¿µ¿ªÀ» Á¦°øÇÒ »ÓÀÌÁö ÆäÀÌÁöÀÇ ³»¿ë ÀÚü¸¦ Á¦°øÇØ ÁÖÁö´Â ¾ÊÀ¸¸ç ÅÇÀÌ º¯°æµÉ ¶§ ´ëÀÀµÇ´Â ÆäÀÌÁö¸¦ Ç¥½ÃÇÏ°í °ü¸®ÇÏ´Â °ÍÀº ¸ÞÀÎ À©µµ¿ì°¡ Á÷Á¢ ÇØ¾ß ÇÑ´Ù.
ÄÞº¸ ¹Ú½º°¡ Ç׸ñÀÌ º¯°æµÉ ¶§ CBN_SELCHNGE ÅëÁö ¸Þ½ÃÁö¸¦ º¸³» ÁÖµíÀÌ ÅÇ ÄÁÆ®·ÑÀº ÅÇÀÌ º¯°æµÉ ¶§ TCN_SELCHANGE ÅëÁö ¸Þ½ÃÁö¸¦ ºÎ¸ð À©µµ¿ì·Î º¸³» ÁØ´Ù. À̶§ ºÎ¸ð À©µµ¿ì´Â º¯°æµÈ ÅÇ ¹øÈ£¿¡ ¸Â°Ô ÆäÀÌÁö¸¦ º¯°æÇϰųª ±âŸ ÇÊ¿äÇÑ Ã³¸®¸¦ ÇØ¾ß ÇÑ´Ù. ¿¡Á¦¿¡¼´Â ½ºÅÂÆ½ ÄÁÆ®·ÑÀÇ ÅØ½ºÆ®¸¸ º¯°æÇϰí ÀÖ´Ù.
ÅÇ ÄÁÆ®·ÑÀº º¸Åë ¸ÞÀÎ À©µµ¿ì ¶Ç´Â ´ëÈ»óÀÚÀÇ Â÷Àϵå·Î »ý¼ºµÇ¹Ç·Î WS_CHILD ½ºÅ¸ÀÏÀº ¼±ÅÃÀÇ ¿©Áö¾øÀÌ ÁÖ¾î¾ß Çϸç WS_VISIBLEµµ ¸¶Âù°¡Áö´Ù. ¶ÇÇÑ ÅÇÀÌ ÆäÀÌÁöÀÇ ³»¿ëÀ» Ç¥½ÃÇÏ´Â ÄÁÆ®·Ñ(À§ ¿¹Á¦ÀÇ °æ¿ì ½ºÅÂÆ½) ¿µ¿ªÀ» µ¤¾î¾²Áö ¸»¾Æ¾ß ÇϹǷΠWS_CLIPSIBLINGS ½ºÅ¸ÀÏÀº ¹Ýµå½Ã ÁÖ¾î¾ß ÇÑ´Ù. À̿ܿ¡ TCS_·Î ½ÃÀ۵Ǵ ÅÇ ÄÁÆ®·Ñ ½ºÅ¸ÀÏÀ» Ãß°¡·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
½ºÅ¸ÀÏ |
¼³¸í |
TCS_BOTTOM TCS_RIGHT |
ÅÇÀÌ ÄÁÆ®·ÑÀÇ ¹Ù´Ú(¶Ç´Â ¿À¸¥ÂÊ)¿¡ ³ªÅ¸³´Ù. |
TCS_BUTTONS |
ÅÇÀÌ ¹öưÀ¸·Î ³ªÅ¸³ª¸ç Ç¥½Ã ¿µ¿ª¿¡´Â °æ°è¼±ÀÌ ±×·ÁÁöÁö ¾Ê´Â´Ù. |
TCS_FIXEDWIDTH |
ÅÇÀÌ ¸ðµÎ °°Àº ÆøÀ» °¡Áöµµ·Ï °íÁ¤µÈ´Ù. ÀÌ ½ºÅ¸ÀÏÀº TCS_RIGHTJUSTIFY ½ºÅ¸Àϰú ÇÔ²² ¾µ ¼ö´Â ¾ø´Ù. ÀÌ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÅØ½ºÆ®¿Í ¾ÆÀÌÄÜÀÇ Æø¿¡ µû¶ó ÅÇÀÇ ÆøÀÌ °áÁ¤µÈ´Ù. |
TCS_FLATBUTTONS |
TCS_BUTTONS ½ºÅ¸Àϰú ÇÔ²² »ç¿ëµÇ¸ç ÆòÆòÇÑ ¸ð¾çÀÇ ¹öưÀ» ¸¸µç´Ù. |
TCS_FOCUSNEVER |
¸¶¿ì½º·Î ÅÇÀ» Ŭ¸¯Çصµ Æ÷Ä¿½º¸¦ °¡Áú ¼ö ¾øµµ·Ï ÇÑ´Ù. |
TCS_FOCUSBUTTONDOWN |
Æ÷Ä¿½º¸¦ °¡Áö¸ç Ä¿¼ À̵¿Å°·Î ÅÇ °£À» ÀüȯÇÒ ¼ö ÀÖ´Ù. |
TCS_FORCEICONLEFT |
¾ÆÀÌÄÜÀÌ ÅÇÀÇ ¿ÞÂÊÀ¸·Î Á¤·ÄµÈ´Ù. TCS_FIXEDWIDTH ½ºÅ¸Àϰú ÇÔ²² »ç¿ëµÈ´Ù. |
TCS_FORCELABELLEFT |
ÅÇÀÇ ÅØ½ºÆ®¸¦ ¿ÞÂÊÀ¸·Î Á¤·ÄÇÑ´Ù. ÀÌ ½ºÅ¸ÀÏÀ» ÁÖÁö ¾ÊÀ¸¸é ÅØ½ºÆ®¸¦ Áß¾ÓÀ¸·Î Á¤·ÄÇÑ´Ù. TCS_FIXEDWIDTH, TCS_FORCEICONLEFT ½ºÅ¸Àϰú ÇÔ²² »ç¿ëµÇ¸ç ÀÌ °æ¿ì ¾ÆÀÌÄÜ, ÅØ½ºÆ® ¼øÀ¸·Î ¿ÞÂÊ Á¤·ÄµÈ´Ù. |
TCS_HOTTRACK |
¸¶¿ì½º Ä¿¼°¡ ÅÇ À§¿¡ ÀÖÀ» ¶§ ÅÇÀÌ °Á¶µÈ´Ù. |
TCS_MULTILINE |
ÅÇÀ» ¿©·¯ ÁÙ·Î ¹èÄ¡ÇÑ´Ù. ÀÌ ½ºÅ¸ÀÏÀ» ÁÖÁö ¾ÊÀ¸¸é ÅÇÀÌ ÇÑÁٷθ¸ ¹èÄ¡µÇ¸ç ¾÷´Ù¿î ÄÁÆ®·Ñ·Î ½ºÅ©·ÑÇØ¾ß ÇÑ´Ù. |
TCS_MULTISELECT |
Ctrl۸¦ ´©¸¥ »óÅ¿¡¼ ÅÇÀ» ¿©·¯ °³ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. TCS_BUTTONS ½ºÅ¸Àϰú ÇÔ²² »ç¿ëÇØ¾ß ÇÑ´Ù. |
TCS_OWNERDRAWFIXED |
ºÎ¸ð À©µµ¿ì°¡ ÅÇÀ» Á÷Á¢ ±×¸®´Â ¿À³Ê µå·Î¿ì ÅÇÀ» »ý¼ºÇÑ´Ù. |
TCS_RAGGEDRIGHT |
ÅÇÀÌ ÅÇ ÄÁÆ®·ÑÀÇ ÆøÀ» °¡µæ ä¿ìÁö ¾Êµµ·Ï ÇÑ´Ù. ÀÌ ½ºÅ¸ÀÏÀÌ µðÆúÆ®ÀÌ´Ù. |
TCS_RIGHTJUSTIFY |
ÅÇÀÌ ÅÇ ÄÁÆ®·Ñ Àüü¸¦ °¡µæ ä¿ìµµ·Ï ÆøÀ» È®ÀåÇÑ´Ù. TCS_MULTILINE ½ºÅ¸Àϰú ÇÔ²² »ç¿ëÇØ¾ß ÇÑ´Ù. |
TCS_SCROLLOPPOSITE |
ºÒÇÊ¿äÇÑ ÅÇÀÌ ÄÁÆ®·ÑÀÇ ¹Ý´ëÂÊÀ¸·Î ½ºÅ©·ÑµÈ´Ù. |
TCS_SINGLELINE |
ÅÇÀ» ÇÑÁٷθ¸ Ãâ·ÂÇÑ´Ù. ÀÌ ½ºÅ¸ÀÏÀÌ µðÆúÆ®ÀÌ´Ù. |
TCS_TABS |
ÅÇÀÌ (¹öưÀÌ ¾Æ´Ñ)ÅÇÀ¸·Î Ç¥½ÃµÇ¸ç Ç¥½Ã ¿µ¿ª¿¡ °æ°è¼±ÀÌ ±×·ÁÁø´Ù. ÀÌ ½ºÅ¸ÀÏÀÌ µðÆúÆ®ÀÌ´Ù. |
TCS_TOOLTIPS |
ÅøÆÁ ÄÁÆ®·ÑÀ» °¡Áø´Ù. |
TCS_VERTICAL |
ÅÇÀ» À§ÂÊ¿¡ ¹èÄ¡ÇÏÁö ¾Ê°í ¿ÞÂÊ¿¡ ¹èÄ¡ÇÑ´Ù. TCS_MULTILINE ½ºÅ¸Àϰú ÇÔ²² »ç¿ëÇØ¾ß Çϸç TCS_RIGHT ½ºÅ¸ÀÏÀ» °°ÀÌ ÁÖ¸é ¿À¸¥ÂÊ¿¡ ÅÇÀÌ ¹èÄ¡µÈ´Ù. |
½ºÅ¸ÀÏ ÀÚü°¡ ¾î·ÆÁö´Â ¾ÊÁö¸¸ »óÈ£ ¹èÄ¡µÇ°Å³ª Á¾¼ÓÀûÀÎ ½ºÅ¸ÀÏÀÌ ¸¹¾Æ ½ÇÁ¦·Î ¿øÇÏ´Â ¸ð¾çÀ» ¸¸µé·Á¸é ´Ù¼Ò ¸¹Àº Å×½ºÆ®°¡ ÇÊ¿äÇÏ´Ù. ´ÙÀ½Àº ¹öư ÇüÅ·Î, ÅÇÀ» ¹Ù´Ú¿¡ Á¤·ÄÇÑ ¿¹¸¦ º¸ÀÎ °ÍÀÌ´Ù.
ÅÇÀÇ ¼ö°¡ ¸¹À» ¶§´Â ¿©·¯ ÁٷΠǥ½ÃÇÒ ¼öµµ ÀÖ°í ÅØ½ºÆ® ¿Ü¿¡ ¾ÆÀÌÄÜÀ» °°ÀÌ Ãâ·ÂÇϰųª ¿©·¯ °¡Áö Á¤·Ä ¹æ½ÄÀ» Àû¿ëÇÒ ¼öµµ ÀÖ´Ù. TabCtrl ¿¹Á¦·Î ÅÇÀÇ ´Ù¾çÇÑ ½ºÅ¸ÀÏÀ» Àû¿ëÇØ º¸¾Æ¶ó.