¹Ù. Åø¹Ù¿¡ ¿¡µðÆ® ³Ö±â

Åø¹Ù¿¡ µé¾î°¡´Â ÄÁÆ®·ÑÀº Åë»ó ¹öÆ°À̸ç Åø¹Ù´Â ¹öÆ° ÀÌ¿ÜÀÇ ÄÁÆ®·ÑÀº Á÷Á¢ Áö¿øÇÏÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ Åø¹Ù¿¡ ´Ù¸¥ ÄÁÆ®·ÑÀ» ²À ³Ö°í ½Í´Ù¸é ¾à°£ÀÇ Æí¹ýÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. Åø¹Ù´Â ³ôÀÌ°¡ Á¦ÇѵǾî Àֱ⠶§¹®¿¡ ¸®½ºÆ® ¹Ú½º³ª Æ®¸®ºä °°Àº Å« ÄÁÆ®·ÑÀº ³ÖÀ» ¼ö°¡ ¾øÀ¸¸ç Ǫ½¬ ¹öÆ°À̳ª üũ, ¶óµð¿À ¹öÆ° µîÀº ÀÌ¹Ì Åø ¹Ù°¡ Áö¿øÇÏ°í ÀÖÀ¸¹Ç·Î ³ÖÀ» ÇÊ¿ä°¡ ¾ø´Ù. °á±¹ Çö½ÇÀûÀ¸·Î Åø¹Ù¿¡ ³ÖÀ» ¼ö ÀÖ´Â ÄÁÆ®·ÑÀº ¿¡µðÆ® ¾Æ´Ï¸é ÄÞº¸ ¹Ú½º Á¤µµÀÇ ³ôÀÌ°¡ ³·Àº ÄÁÆ®·Ñ¿¡ ±¹ÇѵȴÙ.

¿©±â¼­´Â ¿¡µðÆ®¸¦ Åø¹Ù¿¡ ³Ö´Â ¿¹Á¦¸¦ ¸¸µé¾î º¸µÇ ´Ù¸¥ ÄÁÆ®·Ñµéµµ ¹æ¹ýÀº µ¿ÀÏÇÏ´Ù. ¹æ¹ýÀº ÀÇ¿Ü·Î °£´ÜÇѵ¥ Åø¹Ùµµ À©µµ¿ìÀ̹ǷΠÀÌ À©µµ¿ìÀÇ Â÷Àϵå·Î ¿¡µðÆ®¸¦ »ý¼ºÇϱ⸸ ÇÏ¸é µÈ´Ù. À̶§ µÎ °¡Áö ¹®Á¦Á¡ÀÌ Àִµ¥ ù°´Â ¿¡µðÆ®°¡ º¸³»´Â ÅëÁö ¸Þ½ÃÁö¸¦ ¸ÞÀÎ À©µµ¿ì°¡ ¹Þ´Â °ÍÀÌ ¾Æ´Ï¶ó Åø¹Ù°¡ ¹Þ´Â´Ù´Â Á¡ÀÌ´Ù. ¿Ö³ÄÇÏ¸é ¿¡µðÆ®¸¦ Åø¹ÙÀÇ Â÷Àϵå·Î »ý¼ºÇ߱⠶§¹®ÀÌ´Ù.

ÅëÁö ¸Þ½ÃÁö¸¦ ¸ÞÀÎ À©µµ¿ì°¡ ¹ÞÀ¸·Á¸é °øÅë ÄÁÆ®·Ñ ¶óÀ̺귯¸®¿¡ ÀÖ´Â Åø¹ÙÀÇ À©µµ¿ì ÇÁ·Î½ÃÀú¸¦ ¼­ºê Ŭ·¡½ÌÇÏ¿© Åø¹Ù°¡ ÅëÁö ¸Þ½ÃÁö¸¦ ¸ÕÀú ¹Þ¾Æ¼­ ´Ù½Ã ºÎ¸ð À©µµ¿ì¿¡°Ô Àü´ÞÇØ ÁÖ¸é µÈ´Ù. ±×·¯³ª ÀÌ ¹æ¹ýÀº ³Ê¹« ±ÍÂú°í ¾î·Æ´Ù. Á» ´õ °£´ÜÇÑ ¹æ¹ýÀº ¿¡µðÆ®¸¦ ¸ÞÀÎ À©µµ¿ìÀÇ Â÷Àϵå·Î ¸¸µç ÈÄ SetParent ÇÔ¼ö·Î ºÎ¸ð¸¸ Åø ¹Ù·Î ¹Ù²ã ÁÖ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é ¿¡µðÆ®´Â Åø¹ÙÀÇ ÀÛ¾÷ ¿µ¿ª¿¡ ³ªÅ¸³ª¸é¼­µµ ¿À³ÊÀÎ ¸ÞÀÎ À©µµ¿ì¿¡°Ô ÅëÁö ¸Þ½ÃÁö¸¦ º¸³»°Ô µÈ´Ù.

µÎ¹ø° ¹®Á¦´Â Åø¹Ù¿¡ ¿¡µðÆ®°¡ µé¾î°¥ °ø°£À» È®º¸ÇÏ´Â °ÍÀÌ´Ù. Åø¹Ù¿¡ ÀÌ¹Ì µé¾î°¡ ÀÖ´Â ¹öÆ°µé°ú À§Ä¡°¡ °ãÃļ­´Â ¾ÈµÇ¸ç ¸¶Ä¡ ¿ø·¡ ±× ÀÚ¸®°¡ ÀÚ±â ÀÚ¸®ÀÎ °Í ó·³ ¿¡µðÆ®°¡ ¹èÄ¡µÇ¾î¾ß ÇÑ´Ù. ¿©±âµµ ¾à°£ÀÇ Æí¹ýÀÌ ÇÊ¿äÇѵ¥ ÇÊ¿äÇѸ¸Å­ ±¸ºÐ ¿©¹éÀ» ¸¸µé°í ÀÌ ±¸ºÐ ¿©¹é ÀÚ¸®¿¡ ¿¡µðÆ®¸¦ ¹èÄ¡ÇÏ¸é µÈ´Ù. ¹öÆ°ÀÇ ÆøÀº TB_GETITEMRECT ¸Þ½ÃÁö·Î ½±°Ô ±¸ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±¸ºÐ ¿©¹éÀÇ ÁÂÇ¥¸¦ ±¸ÇÏ°í ±× ÀÚ¸®¿¡ ¿¡µðÆ®¸¦ ±ôÂÊ°°ÀÌ ³¢¿ö ³ÖÀ¸¸é µÈ´Ù.

´ÙÀ½Àº ¿Ï¼ºµÈ ¿¹Á¦ÀÌ´Ù. ¿¡µðÆ® ÄÁÆ®·ÑÀ» Åø ¹öÆ° »çÀÌ¿¡ ¹èÄ¡Çϸç ÅؽºÆ®°¡ ÆíÁýµÇ¸é ¸ÞÀÎ À©µµ¿ì°¡ EN_CHANGE ÅëÁö ¸Þ½ÃÁö¸¦ ¹Þ¾Æ ŸÀÌƲ ¹Ù¿¡ ÅؽºÆ®¸¦ Ãâ·ÂÇÑ´Ù.

 

#include <commctrl.h>

#define ID_TOOLBAR 100

HWND hToolBar;

HWND hEdit;

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

   TBBUTTON ToolBtn[7]={

      {STD_FILENEW,10,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},

      {STD_FILEOPEN,11,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},

      {STD_FILESAVE,12,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},

      {200,0,0,TBSTYLE_SEP,0,0,0,0},

      {STD_CUT,13,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},

      {STD_COPY,14,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0},

      {STD_PASTE,15,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,0}

   };

   TCHAR szBuf[256];

   RECT srt;

 

   switch(iMessage) {

   case WM_CREATE:

      InitCommonControls();

      hToolBar=CreateToolbarEx(hWnd, WS_CHILD | WS_VISIBLE | WS_BORDER,

          ID_TOOLBAR, 15, HINST_COMMCTRL, IDB_STD_SMALL_COLOR, ToolBtn, 7,

          16,16,16,16,sizeof(TBBUTTON));

      SendMessage(hToolBar,TB_GETITEMRECT,3,(LPARAM)&srt);

      hEdit=CreateWindow("edit",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER

          |ES_AUTOHSCROLL,

          srt.left+2,srt.top+1,(srt.right-srt.left-4),(srt.bottom-srt.top-2)

          ,hWnd,(HMENU)20,g_hInst,NULL);

      SetParent(hEdit,hToolBar);

      return 0;

   case WM_COMMAND:

      switch (LOWORD(wParam)) {

      case 20:

          switch (HIWORD(wParam)) {

          case EN_CHANGE:

             GetWindowText(hEdit,szBuf,256);

             SetWindowText(hWnd,szBuf);

             return 0;

          }

          break;

      }

      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));

}

 

ToolBtn ¹è¿­¿¡ ±¸ºÐ ¿©¹éÀ» 200Çȼ¿ ÆøÀ¸·Î ¹Ì¸® ¸¸µé¾î µÎ¾ú´Ù. ÀÌ ÆøÀÌ ¹Ù·Î ¿¡µðÆ® ÄÁÆ®·ÑÀÇ ÆøÀÌ µÇ¸ç ¿¡µðÆ®ÀÇ ÆøÀ» ¹Ù²Ù°í ½ÍÀ¸¸é ÀÌ °ªÀ» ¹Ù²Ù¸é µÈ´Ù. Åø¹Ù¸¦ ¸¸µç ÈÄ ±¸ºÐ ¿©¹éÀÇ À§Ä¡¸¦ Á¶»çÇÏ°í ÀÌ À§Ä¡¿¡ ¿¡µðÆ® ÄÁÆ®·ÑÀ» »ý¼º½ÃÄ×´Ù. À̶§ ºÎ¸ð À©µµ¿ì´Â ¸ÞÀÎ À©µµ¿ìÀÎ »óÅ·Π»ý¼ºÇÏ°í »ý¼º ÈÄ SetParent ÇÔ¼ö·Î ºÎ¸ð¸¦ Åø¹Ù·Î º¯°æÇÑ´Ù. ±×·¯¸é ¿¡µðÆ®´Â ¸ÞÀÎ À©µµ¿ì¿¡°Ô ÅëÁö ¸Þ½ÃÁö¸¦ º¸³»°Ô µÈ´Ù.

¿¡µðÆ®°¡ »ðÀÔµÈ ÀÚ¸®´Â ±¸ºÐ ¿©¹é¿¡ ÀÇÇØ È®º¸µÇ¾î ÀÖ´Â °ø°£À̹ǷΠÀÌ »óÅ¿¡¼­ ´Ù¸¥ ¹öÆ°À» »ðÀÔÇϰųª »èÁ¦ÇÏ´õ¶óµµ ¿¡µðÆ®ÀÇ À§Ä¡¸¦ ÀçÁ¶Á¤ÇØÁÙ ÇÊ¿ä´Â ¾ø´Ù. ÄÞº¸ ¹Ú½º³ª ±âŸ ´Ù¸¥ ÄÁÆ®·Ñµµ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î Åø ¹Ù¿¡ ³ÖÀ» ¼ö ÀÖ´Ù.