Dialog Bar ¸¸µé±â


1.¿ä¾à

°£´ÜÇÑ Dialog Bar¸¦ ¸¸µé¾î º¾´Ï´Ù.


2.º»¹®

¿äÁòÀº Åø¹Ù¿¡µµ dialog¿¡¼­ »ç¿ëµÇ´Â ¿©·¯ ÄÁÆ®·ÑµéÀ» »ðÀÔÇÏ´Â ¹æ¹ýµéÀÌ ¸¹ÀÌ ¼Ò°³ µÇ°í ÀÖ½À´Ï´Ù¸¸ Àç¹Ì »ï¾Æ dialogÀÇ ¼ºÁúÀ» °¡Áö°í ÀÖ´Â Åø¹Ù(Dialog Bar)¸¦ ¸¸µé¾î º¸±â·Î ÇϰڽÀ´Ï´Ù.

À̸§¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ Dialog¿¡ Åø¹Ù Çü½ÄÀ» ÃëÇϱ⠶§¹®¿¡ ÀÏ´ÜÀº Dialog Bar¸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Â »õ·Î¿î Dialog¸¦ ¸®¼Ò½º¿¡ »ðÀÔÇÕ´Ï´Ù.
±×¸®°í ÀúÀÇ °æ¿ì¿¡´Â ÀÌ »õ·Î¿î DialogÀÇ ¾ÆÀ̵𸦠IDD_TEST_BAR¶ó°í ¼³Á¤Çß½À´Ï´Ù.
ÀÌ·¸°Ô ¼³Á¤ÇÑ ´ÙÀ½ ÀÌ »õ·Î¿î Dialog¿¡ ¿©·¯ Á¾·ùÀÇ ÄÁÆ®·ÑµéÀ» ¿Ã·Á ³õÀ¸½Ê½Ã¿À.(ÀúÀÇ °æ¿ì¿¡´Â picture control°ú combo box control, button controlÀ» »ðÀÔÇÏ¿´½À´Ï´Ù.)
±×·± ´ÙÀ½ Main frame classÀÇ Çì´õ¿¡ CDialogBar m_MyDlgBar¶ó°í °´Ã¼ ÀνºÅº½º¸¦ »ý¼ºÇÑ ´ÙÀ½, Main frame classÀÇ OnCreate ÇÔ¼ö¿¡¼­ DialogBar¸¦ »ý¼º½Ãų ¶§, ¿ì¸®°¡ ¸¸µé¾î ³õÀº Dialog¸¦ »ðÀÔÇÏ½Ã¸é ³¡³³´Ï´Ù.

¾ÆÁÖ ½±Áö¿ä¡¦. ½±°Ô ¸ø ´À³¢½Å´Ù¸é Á¦°¡ ¿ö³« ºÎÁ·ÇÏ¿©¼­ ±×·± Çö»óÀÌ ÀÏ¾î ³­µí ÇÕ´Ï´Ù. ±×·¯½Å ºÐµéÀº ¼Ò½º Äڵ带 º¸½Ã¸é ´õ¿í ½±°Ô ´À²¸Áö½Ã¸®¶ó ¹ÏÀ¸¸é¼­ ¾Æ·¡ ¼Ò½º Äڵ带 »ìÆì º¸½Ã±â¸¦ ¹Ù¶ó°Ú½À´Ï´Ù.

´Ùµé ¾Æ½Ã°ÚÁö¸¸ DialogBar¿¡¼­ ÁÖÀÇÇÏ¼Å¾ß ÇÒ »çÇ×Àº Command handler¸¦ À§Àڵ带 ÅëÇØ¼­ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
µû¶ó¼­ ¼öÀÛ¾÷À» ÅëÇØ¼­ Command handler¸¦ ¼³Ä¡ Çϼž߸¸ ÇÕ´Ï´Ù.


3.¿¹Á¦


// MainFrm.h ¿¡ CDialogBar  m_MyDlgBar¸¦ »ý¼ºÇϽʽÿÀ 



// MainFrm.cpp 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 

{ 

    // »ý·«...





    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 

    } 

    .if(!m_MyDlgBar.Create(this, IDD_TEST_BAR, CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_TEST_BAR)) 

    { 

        TRACE0("Failed to create DlgBar\n"); 

        return -1;      // Fail to create. 

    } 

    CRect rect(0, 0, 200, 200); 

    GetClientRect(&rect); 

    CPoint pt(rect.right - 100, rect.bottom / 4); 

    ClientToScreen(&pt); 

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

    //  be dockable 

    m_wndDlgBar.EnableDocking(CBRS_ALIGN_ANY); 

    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); 

    EnableDocking(CBRS_ALIGN_ANY); 

    DockControlBar(&m_wndToolBar); 

    DockControlBar(&m_wndDlgBar); 

    FloatControlBar(&m_wndDlgBar, pt); 

    return 0; 

} 


- 2001.08.13 Smile Seo -