본문 바로가기

Windows/MFC

CDialog 에 Toolbar 를 추가하는 방법.

1. Dialog에 Toolbar를 추가한다.
2. 툴바를 생성한다.
3. 기타 효과를 준다.

[code]
if (!m_Toolbar.CreateEx(this, TBSTYLE_FLAT,
        WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS |
        CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_Toolbar.LoadToolBar(IDR_TOOLBAR1))
{
    TRACE0("Failed to create toolbar\n");
    return;
}

RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

m_Toolbar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle = m_Toolbar.GetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW));
     dwStyle |= TBSTYLE_DROPDOWN;        // 서브 메뉴를 출력시킨다.

m_Toolbar.SetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW), dwStyle);

CImageList    imageList;
CBitmap        bitmap;

// 기본 상태일 때
bitmap.LoadBitmap(IDB_TOOLBAR1);
imageList.Create(70, 43, ILC_COLOR24|ILC_MASK, 7, 1);
imageList.Add(&bitmap, RGB(255,255,255));
m_Toolbar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();

// 활성화 상태일 때
bitmap.LoadBitmap(IDB_TOOLBAR2);
imageList.Create(70, 43, ILC_COLOR24|ILC_MASK, 7, 1);
imageList.Add(&bitmap, RGB(255,255,255));
m_Toolbar.SendMessage(TB_SETHOTIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();

// 비 활성화 상태일 때
bitmap.LoadBitmap(IDB_TOOLBAR3);
imageList.Create(70, 43, ILC_COLOR24|ILC_MASK, 7, 1);
imageList.Add(&bitmap, RGB(255,255,255));
m_Toolbar.SendMessage(TB_SETDISABLEDIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();

// 4개의 툴바를 비활성화 시킨다.
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_UNCOMPRESS,    FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_ADD,        FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_DELETE,        FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_RENAME,        FALSE);[/code]

'Windows > MFC' 카테고리의 다른 글

CWinApp Class  (0) 2013.10.02
CObject Class  (0) 2013.10.02
CListCtrl 사용법  (0) 2013.10.02
The simplest collections to use are CStringList, CStringArray, CList, CArray  (0) 2013.10.02
CListCtrl 에서 선택한 아이템 삭제하기  (0) 2013.10.02