Æ¢¾î ¿À¸£´Â À̹ÌÁö (Hot image)

 

ÀÎÅÍ³Ý ÀͽºÇ÷η¯ 4.0À» µ¿ÀÛ½ÃÄÑ Åø¹Ù À§·Î ¸¶¿ì½º Ä¿¼­¸¦ À̵¿Çϸé, ¸¶¿ì½º Ä¿¼­°¡ ´ÜÃß À§·Î À̵¿ÇÒ ¶§ Åø¹ÙÀÇ ´ÜÃß´Â »ý»ýÇÑ »öÀ¸·Î Æ¢¾î ¿À¸¥´Ù. ÀÌ ºñÁÖ¾óÇÑ Çö»óÀÌ Åø¹Ù ÄÁÆ®·ÑÀÇ 'ÇÖ À̹ÌÁö' ±â´ÉÀÌ´Ù.

 À§ÀÇ ±×¸²¿¡¼­ "ÀúÀå"ÀÇ Åø¹Ù À̹ÌÁö°¡ »öÀÌ ´Ù¸¥ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

AppWizard´Â ¹öÆ°ÀÇ ¸ð¾çÀ» ³ªÅ¸³»±â À§Çؼ­ Åø¹Ù ¸®¼Ò½º¸¦ »ç¿ëÇÏ°í, °¢ ¹öÆ°°ú Ä¿¸Çµå ½Äº°ÀÚ¸¦ ¿¬°áÇÑ´Ù. Åø¹Ù ¸®¼Ò½º´Â LoadToolBar()·Î ¿©·¯°³ÀÇ ºñÆ®¸ÊÀ» À̹ÌÁö ¸ñ·ÏÀ¸·Î º¯È¯ÇÑ´Ù. Æ¢¾î ¿À¸£´Â À̹ÌÁö¸¦ Ç¥½ÃÇϱâ À§Çؼ­´Â ¿ø·¡ÀÇ Åø¹Ù ¸®¼Ò½º ¿Ü¿¡ ¶Ç ÇϳªÀÇ À̹ÌÁö°¡ ÇÊ¿äÇÏ´Ù. À̸¦ À§ÇØ SetHotImageList() ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ´Ù.

 

1. À̸¦ ±¸ÇöÇϱâ À§ÇØ MainFrm.cpp ÆÄÀÏÀÇ OnCreate() ÇÔ¼ö¿¡¼­ ´ÙÀ½ ±½Àº ±Û¾¾ ºÎºÐÀ» Ãß°¡ÇÑ´Ù.

 ¸ð¾ç»õ¸¦ À§ÇØ "Åø¹Ù¿¡ ÅøÆÁ ´ë½Å¿¡ ÅؽºÆ® ¶óº§·Î Ç¥½Ã" ºÎºÐÀ» ÂüÁ¶ÇÏ¿© Åø¹Ù¿¡ ¶óº§À» Ãâ·ÂÇϵµ·Ï ÇÏ´Â ºÎºÐÀ» Ãß°¡ÇÏ¿´´Ù.(º¸¶ó»ö ±Û¾¾)

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
        if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
                return -1;
        
        if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
                | CBRS_GRIPPER | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
                !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
        {
                TRACE0("Failed to create toolbar\n");
                return -1;      // fail to create
        }

        CImageList img;
        if(!img.Create(IDB_MAINFRAME,16,0,RGB(128,128,128))) {
                TRACE0("Failed to load hot images\n");
                return -1;
        }
        m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
        img.Detach();
        
        if (!m_wndStatusBar.Create(this) ||
                !m_wndStatusBar.SetIndicators(indicators,
                  sizeof(indicators)/sizeof(UINT)))
        {
                TRACE0("Failed to create status bar\n");
                return -1;      // fail to create
        }

        // Add Text to each button
        for(int i=0; i<m_wndToolBar.GetCount(); i++) {
                UINT id = m_wndToolBar.GetItemID(i);
                CString s;
                if(!s.LoadString(id)) continue;
                int j = s.Find(_T('\n'));
                if(j<0) continue;
                s = s.Right(s.GetLength()-j-1);
                m_wndToolBar.SetButtonText(i, s);
        }

        // Adjust sizes to include text
        CRect rect;
        m_wndToolBar.GetItemRect(0, &rect);
        m_wndToolBar.SetSizes(rect.Size(), CSize(16, 15));


        // TODO: Delete these three lines if you don't want the toolbar to
        //  be dockable

        m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
        EnableDocking(CBRS_ALIGN_ANY);
        DockControlBar(&m_wndToolBar);

        return 0;
}

 

2. res Æú´õ¿¡ ÀÖ´Â Åø¹Ù À̹ÌÁöÀÎ ToolBar.bmp ÆÄÀÏÀ» ToolBar1.bmp ·Î º¹»çÇÏ¿© ID°¡ IDB_MAINFRAME ÀÎ ºñÆ®¸Ê ¸®¼Ò½º·Î import ÇÑ´Ù. ÀÌ À̹ÌÁö°¡ ¸¶¿ì½º ¹öÆ°ÀÌ Åø¹Ù ¹öÆ° À§·Î ¿Ã¶ó ¿ÔÀ» ¶§ ³ªÅ¸³¯ ±×¸²À̹ǷΠÀû´çÈ÷ »öÀ» ¹Ù²Û´Ù. ÇÊ¿äÇÏ´Ù¸é ¿ø·¡ÀÇ Åø¹Ù À̹ÌÁö¸¦ »öÀÌ ¾øµµ·Ï ¸¸µé°í, »õ·Î¿î À̹ÌÁö¸¦ ¿ø·¡´ë·Î »öÀÌ ÀÖµµ·Ï ÇØ µÎ´Â °Íµµ ÁÁÀ» °ÍÀÌ´Ù.

- the end of this article -