[code]void CDunzipCloneDlg::SetToolbar()
{
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);
// Using Drop-Down Buttons in a Toolbar Control
m_Toolbar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle;
dwStyle = m_Toolbar.GetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW));
// 드랍 다운으로 옵션 변경
m_Toolbar.SetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW), dwStyle|TBSTYLE_DROPDOWN);
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));
// A handle containing the image list attached to this object.
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_DECOMPRESS, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_ADD, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_DELETE, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_RENAME, FALSE);
// 칼럼 선택시 모두 선택되게
m_zipFiles.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_ONECLICKACTIVATE );
}
[/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);
// Using Drop-Down Buttons in a Toolbar Control
m_Toolbar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle;
dwStyle = m_Toolbar.GetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW));
// 드랍 다운으로 옵션 변경
m_Toolbar.SetButtonStyle(m_Toolbar.CommandToIndex(IDC_VIEW), dwStyle|TBSTYLE_DROPDOWN);
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));
// A handle containing the image list attached to this object.
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_DECOMPRESS, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_ADD, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_DELETE, FALSE);
m_Toolbar.GetToolBarCtrl().EnableButton(IDC_RENAME, FALSE);
// 칼럼 선택시 모두 선택되게
m_zipFiles.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_ONECLICKACTIVATE );
}
[/code]
'Windows > MFC' 카테고리의 다른 글
CTreeCtrl, SetImageList (트리에 이미지 적용하기) (0) | 2013.10.02 |
---|---|
CListCtrl, SHFILEINFO, SHGetFileInfo, (리스트 컨트롤에 시스템 아이콘 추가하기) (0) | 2013.10.02 |
CListCtrl, InsertColumn (컬럼 추가하기) (0) | 2013.10.02 |
CListCtrl, LVS_TYPEMASK, 리스트 모양 변경하기 (0) | 2013.10.02 |
Using a CList (CList 사용하기) (0) | 2013.10.02 |