°¡. ÅÇÀÇ ½ºÅ¸ÀÏ

ÅÇ ÄÁÆ®·ÑÀº °íÁ¤µÈ ÇÑ ¿µ¿ª¿¡ ¿©·¯ °³ÀÇ ÆäÀÌÁö¸¦ °ãÃļ­ Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ÄÁÆ®·ÑÀÌ´Ù. ¹ÙÅÁÈ­¸éÀÇ µî·Ï Á¤º¸ À©µµ¿ì³ª Á¦¾îÆÇÀÇ ¾ÖÇø´µéÀ» º¸¸é ÅÇ ÄÁÆ®·ÑÀ» º¼ ¼ö Àִµ¥ ¿©·¯ °¡Áö º¹ÀâÇÑ ¼³Á¤À» °¢ ÅÇ¿¡ ³ª´©¾î¼­ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÔ·Â¹Þ¾Æ¾ß ÇÒ Á¤º¸°¡ ¸¹À» ¶§ ÁÖ·Î »ç¿ëÇÑ´Ù.

 

ÇÁ·ÎÆÛƼ ½ÃÆ®ÀÇ Â÷Àϵå·Î Æ÷ÇԵǴ °ÍÀÌ º¸ÅëÀÌÁö¸¸ µ¶¸³µÈ ÄÁÆ®·Ñ·Îµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 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 ¿¹Á¦·Î ÅÇÀÇ ´Ù¾çÇÑ ½ºÅ¸ÀÏÀ» Àû¿ëÇØ º¸¾Æ¶ó.