DragonNest/Third/XTToolkitPro/Samples/CommandBars/CommandBarIcons/AlphaIconsPage.cpp
2024-12-19 09:48:26 +08:00

210 lines
5.2 KiB
C++

// AlphaIconsPage.cpp : implementation file
//
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
// (c)1998-2008 Codejock Software, All Rights Reserved.
//
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
// CONSENT OF CODEJOCK SOFTWARE.
//
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
// SINGLE COMPUTER.
//
// CONTACT INFORMATION:
// support@codejock.com
// http://www.codejock.com
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CommandBarIcons.h"
#include "AlphaIconsPage.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAlphaIconsPage dialog
CAlphaIconsPage::CAlphaIconsPage(CWnd* pParent /*=NULL*/)
: CPropertiesTabPage(CAlphaIconsPage::IDD, pParent)
{
//{{AFX_DATA_INIT(CAlphaIconsPage)
m_bFaded = FALSE;
m_bShadow = FALSE;
m_bLargeImages = FALSE;
m_bResample = FALSE;
//}}AFX_DATA_INIT
}
void CAlphaIconsPage::UpdateContent()
{
XTP_COMMANDBARS_ICONSINFO* pIconsInfo = XTPPaintManager()->GetIconsInfo();
m_bFaded = pIconsInfo->bUseFadedIcons;
m_bShadow = pIconsInfo->bIconsWithShadow;
CXTPFrameWnd* pFrame = (CXTPFrameWnd*)AfxGetMainWnd();
CXTPCommandBars* pCommandBars = pFrame->GetCommandBars();
ASSERT(pCommandBars);
CXTPCommandBarsOptions* pOptions = pCommandBars->GetCommandBarsOptions();
m_bLargeImages = pOptions->bLargeIcons;
UpdateData(FALSE);
}
void CAlphaIconsPage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAlphaIconsPage)
DDX_Check(pDX, IDC_CHECK_FADED, m_bFaded);
DDX_Check(pDX, IDC_CHECK_SHADOW, m_bShadow);
DDX_Check(pDX, IDC_CHECK_LARGEIMAGES, m_bLargeImages);
DDX_Check(pDX, IDC_CHECK_RESAMPLE, m_bResample);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAlphaIconsPage, CDialog)
//{{AFX_MSG_MAP(CAlphaIconsPage)
ON_BN_CLICKED(IDC_CHECK_FADED, OnCheckFaded)
ON_BN_CLICKED(IDC_CHECK_SHADOW, OnCheckShadow)
ON_BN_CLICKED(IDC_CHECK_LARGEIMAGES, OnCheckLargeimages)
ON_BN_CLICKED(IDC_CHECK_RESAMPLE, OnCheckResample)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAlphaIconsPage message handlers
void CAlphaIconsPage::RedrawCommandBars()
{
CXTPFrameWnd* pFrame = (CXTPFrameWnd*)AfxGetMainWnd();
pFrame->RecalcLayout(FALSE);
pFrame->GetCommandBars()->RedrawCommandBars();
pFrame->RedrawWindow();
}
void CAlphaIconsPage::OnCheckFaded()
{
UpdateData();
XTP_COMMANDBARS_ICONSINFO* pIconsInfo = XTPPaintManager()->GetIconsInfo();
pIconsInfo->bUseFadedIcons = m_bFaded;
RedrawCommandBars();
}
void CAlphaIconsPage::OnCheckShadow()
{
UpdateData();
XTP_COMMANDBARS_ICONSINFO* pIconsInfo = XTPPaintManager()->GetIconsInfo();
pIconsInfo->bIconsWithShadow = m_bShadow;
RedrawCommandBars();
}
void CAlphaIconsPage::OnCheckDisabled()
{
UpdateData();
XTP_COMMANDBARS_ICONSINFO* pIconsInfo = XTPPaintManager()->GetIconsInfo();
pIconsInfo->bUseDisabledIcons = m_bDisabled;
RedrawCommandBars();
}
void CAlphaIconsPage::OnCancel()
{
}
void CAlphaIconsPage::OnActivate()
{
CXTPFrameWnd* pFrame = (CXTPFrameWnd*)AfxGetMainWnd();
CXTPCommandBars* pCommandBars = pFrame->GetCommandBars();
ASSERT(pCommandBars);
CXTPToolBar* pToolBar = pCommandBars->GetAt(1);
ASSERT(pToolBar->GetTitle() == _T("Standard"));
XTPImageManager()->RemoveAll();
pToolBar->LoadToolBar(IDR_ICONS_MENU_32);
XTP_COMMANDBARS_ICONSINFO* pIconsInfo = XTPPaintManager()->GetIconsInfo();
pIconsInfo->bUseDisabledIcons = TRUE;
CXTPCommandBarsOptions* pOptions = pCommandBars->GetCommandBarsOptions();
pOptions->szIcons = CSize(16, 16);
pOptions->szLargeIcons = CSize (42, 35);
pOptions->bLargeIcons = FALSE;
XTPImageManager()->SetIcons(IDR_ICONS_TOOLBAR_32);
if (!XTPImageManager()->IsAlphaIconsSupported())
{
m_bResample = TRUE;
GetDlgItem(IDC_CHECK_RESAMPLE)->EnableWindow(FALSE);
UpdateData(FALSE);
}
ResampleImages();
UpdateContent();
}
void CAlphaIconsPage::ResampleImages()
{
if (m_bResample)
{
CBitmap bmpResample;
bmpResample.Attach(CXTPImageManager::ResampleAlphaLayer(IDR_ICONS_MENU_32, RGB(0, 0xFF, 0)));
XTPImageManager()->SetIcons(IDR_ICONS_MENU_32, bmpResample);
bmpResample.DeleteObject();
bmpResample.Attach(CXTPImageManager::ResampleAlphaLayer(IDR_ICONS_TOOLBAR_32, RGB(0, 0xFF, 0)));
XTPImageManager()->SetIcons(IDR_ICONS_TOOLBAR_32, bmpResample);
} else
{
XTPImageManager()->SetIcons(IDR_ICONS_MENU_32);
XTPImageManager()->SetIcons(IDR_ICONS_TOOLBAR_32);
}
RedrawCommandBars();
}
void CAlphaIconsPage::OnCheckResample()
{
UpdateData();
ResampleImages();
}
void CAlphaIconsPage::OnCheckLargeimages()
{
UpdateData();
CXTPFrameWnd* pFrame = (CXTPFrameWnd*)AfxGetMainWnd();
CXTPCommandBars* pCommandBars = pFrame->GetCommandBars();
ASSERT(pCommandBars);
CXTPCommandBarsOptions* pOptions = pCommandBars->GetCommandBarsOptions();
// Set global icon's size
pOptions->bLargeIcons = m_bLargeImages;
RedrawCommandBars();
}