DragonNest/Third/XTToolkitPro/Samples/CommandBars/GallerySample/MainFrm.cpp

933 lines
26 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "GallerySample.h"
#include "MainFrm.h"
#include "GalleryItems.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_CLOSE()
ON_COMMAND(ID_STYLES_CHANGE, OnStylesChange)
ON_COMMAND(ID_VIEW_ANIMATE, OnViewAnimate)
ON_UPDATE_COMMAND_UI(ID_VIEW_ANIMATE, OnUpdateViewAnimate)
//}}AFX_MSG_MAP
ON_XTP_CREATECONTROL()
ON_COMMAND(XTP_ID_CUSTOMIZE, OnCustomize)
ON_XTP_EXECUTE(ID_GALLERY_SHAPES, OnGalleryShapes)
ON_UPDATE_COMMAND_UI(ID_GALLERY_SHAPES, OnUpdateGalleryShapes)
ON_XTP_EXECUTE(ID_GALLERY_STYLES, OnGalleryStyles)
ON_UPDATE_COMMAND_UI(ID_GALLERY_STYLES, OnUpdateGalleryStyles)
ON_XTP_EXECUTE(ID_GALLERY_STYLESET, OnGalleryStyleSet)
ON_UPDATE_COMMAND_UI(ID_GALLERY_STYLESET, OnUpdateGalleryStyleSet)
ON_XTP_EXECUTE(ID_GALLERY_COLORS, OnGalleryThemeColors)
ON_UPDATE_COMMAND_UI(ID_GALLERY_COLORS, OnUpdateGalleryThemeColors)
ON_XTP_EXECUTE(ID_GALLERY_TABLE, OnGalleryTable)
ON_UPDATE_COMMAND_UI(ID_GALLERY_TABLE, OnUpdateGalleryTable)
ON_XTP_EXECUTE(ID_GALLERY_FONTS, OnGalleryThemeFonts)
ON_UPDATE_COMMAND_UI(ID_GALLERY_FONTS, OnUpdateGalleryThemeFonts)
ON_COMMAND_RANGE(ID_VIEW_THEME_OFFICE2000, ID_VIEW_THEME_RIBBON, OnViewTheme)
ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_THEME_OFFICE2000, ID_VIEW_THEME_RIBBON, OnUpdateViewTheme)
ON_NOTIFY(XTP_GN_PREVIEWSTART, ID_GALLERY_STYLES, OnStylesPreviewStart)
ON_NOTIFY(XTP_GN_PREVIEWCANCEL, ID_GALLERY_STYLES, OnStylesPreviewCancel)
ON_NOTIFY(XTP_GN_PREVIEWAPPLY, ID_GALLERY_STYLES, OnStylesPreviewApply)
ON_NOTIFY(XTP_GN_PREVIEWCHANGE, ID_GALLERY_STYLES, OnStylesPreviewChange)
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
m_pItemsShapes = 0;
m_pItemsStyles = 0;
m_pItemsStyleSet = 0;
m_pItemsThemeColors = 0;
m_pItemsThemeFonts = 0;
m_pItemsTable = 0;
m_pItemsFontTextColor = 0;
m_pItemsFontBackColor = 0;
m_pItemsFontFace = 0;
m_pItemsFontSize = 0;
TCHAR szStylesPath[_MAX_PATH];
VERIFY(::GetModuleFileName(
AfxGetApp()->m_hInstance, szStylesPath, _MAX_PATH));
CString csStylesPath(szStylesPath);
int nIndex = csStylesPath.ReverseFind(_T('\\'));
if (nIndex > 0) {
csStylesPath = csStylesPath.Left(nIndex);
}
else {
csStylesPath.Empty();
}
XTPOffice2007Images()->SetHandle(csStylesPath + _T("\\Styles\\Office2007Blue.dll"));
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
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 (!InitCommandBars())
return -1;
m_wndStatusBar.SetCommandBars(GetCommandBars());
CreateGalleries();
CXTPCommandBars* pCommandBars = GetCommandBars();
pCommandBars->SetMenu(_T("Menu Bar"), IDR_MAINFRAME);
CXTPToolBar* pStandardBar = (CXTPToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop);
if (!pStandardBar ||
!pStandardBar->LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
CXTPToolBar* pFormatBar = (CXTPToolBar*)pCommandBars->Add(_T("Format"), xtpBarTop);
if (!pFormatBar ||
!pFormatBar->LoadToolBar(IDR_TOOLBAR_FORMAT))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
DockRightOf(pFormatBar, pStandardBar);
CXTPToolBar* pStylesBar = (CXTPToolBar*)pCommandBars->Add(_T("Styles"), xtpBarTop);
if (!pStylesBar ||
!pStylesBar->LoadToolBar(IDR_TOOLBAR_STYLES))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
pStylesBar->SetIconSize(CSize(16, 16));
DockRightOf(pStylesBar, pFormatBar);
CXTPToolBar* pShapesBar = (CXTPToolBar*)pCommandBars->Add(_T("Shapes"), xtpBarLeft);
if (!pShapesBar)
{
TRACE0("Failed to create toolbar\n");
return -1;
}
pShapesBar->SetBarID(100);
CXTPControlGallery* pControlGalleryShapes4 = new CXTPControlGallery();
pControlGalleryShapes4->SetControlSize(CSize(120, 200));
pControlGalleryShapes4->SetResizable();
pControlGalleryShapes4->ShowBorders(TRUE);
pControlGalleryShapes4->SetItems(m_pItemsShapes);
pShapesBar->GetControls()->Add(pControlGalleryShapes4, ID_GALLERY_SHAPES);
pShapesBar->GetControls()->CreateOriginalControls();
pCommandBars->GetImageManager()->SetIcons(IDR_MAINFRAME, IDR_MAINFRAME_LARGE);
pCommandBars->SetTheme(xtpThemeRibbon);
EnableOffice2007Frame(GetCommandBars());
pCommandBars->GetPaintManager()->m_bEnableAnimation = TRUE;
LoadCommandBars(_T("CommandBars2"));
return 0;
}
void CMainFrame::CreateGalleries()
{
m_pItemsShapes = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_SHAPES);
m_pItemsShapes->GetImageManager()->SetIcons(ID_GALLERY_SHAPES, 0, 0, CSize(20, 20));
CXTPControlGalleryItem* pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Lines"));
int nShape;
for (nShape = 0; nShape < 12; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Basic Shapes"));
for (; nShape < 12 + 32; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Block Arrows"));
for (; nShape < 12 + 32 + 27; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Flowchart"));
for (; nShape < 12 + 32 + 27 + 28; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Callouts"));
for (; nShape < 12 + 32 + 27 + 28 + 20; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
pItem = m_pItemsShapes->AddLabel(0);
pItem->SetCaption(_T("Stars and Banners"));
for (; nShape < 12 + 32 + 27 + 28 + 20 + 16; nShape++)
m_pItemsShapes->AddItem(nShape, nShape);
m_nShape = -1;
m_nStyle = 0;
m_pItemsStyles = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_STYLES);
m_pItemsStyles->GetImageManager()->SetMaskColor(0xFF00FF);
m_pItemsStyles->GetImageManager()->SetIcons(ID_GALLERY_STYLES, 0, 0, CSize(64, 48));
m_pItemsStyles->GetImageManager()->SetMaskColor(COLORREF_NULL); // Default TopLeft Pixel.
m_pItemsStyles->SetItemSize(CSize(72, 56));
for (int nStyle = 0; nStyle < 16; nStyle++)
m_pItemsStyles->AddItem(nStyle, nStyle);
m_nStyleSet = 0;
m_pItemsStyleSet = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_STYLESET);
m_pItemsStyleSet->SetItemSize(CSize(0, 22));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(0, _T("Classic")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(1, _T("Default")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(2, _T("Distinctive")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(3, _T("Elegant")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(4, _T("Fancy")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(5, _T("Formal")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(6, _T("Manuscript")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(7, _T("Modern")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(8, _T("Simple")));
m_pItemsStyleSet->AddItem(new CGalleryItemStyleSet(9, _T("Traditional")));
m_nThemeColors = 0;
m_pItemsThemeColors = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_COLORS);
m_pItemsThemeColors->SetItemSize(CSize(0, 20));
pItem = m_pItemsThemeColors->AddLabel(0);
pItem->SetCaption(_T("Built-In"));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(0, _T("Office")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(1, _T("Grayscale")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(2, _T("Apex")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(3, _T("Aspect")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(4, _T("Civic")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(5, _T("Concourse")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(6, _T("Currency")));
m_pItemsThemeColors->AddItem(new CGalleryItemThemeColors(7, _T("Deluxe")));
m_nThemeFonts = 0;
m_pItemsThemeFonts = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_FONTS);
m_pItemsThemeFonts->SetItemSize(CSize(0, 60));
pItem = m_pItemsThemeFonts->AddLabel(0);
pItem->SetCaption(_T("Built-In"));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(0, _T("Office")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(1, _T("Apex")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(2, _T("Aspect")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(3, _T("Civic")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(4, _T("Concourse")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(5, _T("Currency")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(6, _T("Deluxe")));
m_pItemsThemeFonts->AddItem(new CGalleryItemThemeFonts(7, _T("Equity")));
m_pItemsTable = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_TABLE);
m_pItemsTable->ClipItems(FALSE); //Redraw all Items if selection changed
m_pItemsTable->SetItemSize(CSize(19, 19));
pItem = m_pItemsTable->AddItem(new CGalleryItemTableLabel());
int nItem;
for (nItem = 0; nItem < 10 * 8; nItem++)
m_pItemsTable->AddItem(new CGalleryItemTable(nItem));
m_pItemsFontTextColor = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_FONTTEXTCOLOR);
m_pItemsFontTextColor->SetItemSize(CSize(17, 17));
pItem = m_pItemsFontTextColor->AddLabel(0);
pItem->SetCaption(_T("Theme Colors"));
CGalleryItemFontColor::AddThemeColors(m_pItemsFontTextColor, 0);
pItem = m_pItemsFontTextColor->AddLabel(0);
pItem->SetCaption(_T("Standard Colors"));
CGalleryItemFontColor::AddStandardColors(m_pItemsFontTextColor);
m_pItemsFontBackColor = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_FONTBACKCOLOR);
m_pItemsFontBackColor->SetItemSize(CSize(30, 30));
CGalleryItemFontColor::AddStandardBackColors(m_pItemsFontBackColor);
m_pItemsFontFace = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_FONTFACE);
m_pItemsFontFace->SetItemSize(CSize(0, 26));
CGalleryItemFontFace::AddFontItems(m_pItemsFontFace);
m_pItemsFontSize = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_GALLERY_FONTSIZE);
m_pItemsFontSize->SetItemSize(CSize(0, 17));
m_pItemsFontSize->AddItem(_T("8"));
m_pItemsFontSize->AddItem(_T("9"));
m_pItemsFontSize->AddItem(_T("10"));
m_pItemsFontSize->AddItem(_T("11"));
m_pItemsFontSize->AddItem(_T("12"));
m_pItemsFontSize->AddItem(_T("14"));
m_pItemsFontSize->AddItem(_T("16"));
m_pItemsFontSize->AddItem(_T("18"));
m_pItemsFontSize->AddItem(_T("20"));
m_pItemsFontSize->AddItem(_T("22"));
m_pItemsFontSize->AddItem(_T("24"));
m_pItemsFontSize->AddItem(_T("26"));
m_pItemsFontSize->AddItem(_T("28"));
m_pItemsFontSize->AddItem(_T("36"));
m_pItemsFontSize->AddItem(_T("48"));
m_pItemsFontSize->AddItem(_T("72"));
m_pItemsUndo = CXTPControlGalleryItems::CreateItems(GetCommandBars(), ID_EDIT_UNDO);
m_pItemsUndo->SetItemSize(CSize(0, 21));
m_pItemsUndo->ClipItems(FALSE);
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.lpszClass = _T("XTPMainFrame");
CXTPDrawHelpers::RegisterWndClass(AfxGetInstanceHandle(), cs.lpszClass,
CS_DBLCLKS, AfxGetApp()->LoadIcon(IDR_MAINFRAME));
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
int CMainFrame::OnCreateControl(LPCREATECONTROLSTRUCT lpCreateControl)
{
if (lpCreateControl->nID == ID_STYLES_CHANGE)
{
lpCreateControl->controlType = xtpControlButtonPopup;
lpCreateControl->buttonStyle = xtpButtonIconAndCaptionBelow;
return TRUE;
}
if (lpCreateControl->bToolBar && lpCreateControl->pCommandBar->GetBarID() == IDR_MAINFRAME)
{
lpCreateControl->buttonStyle = xtpButtonIconAndCaptionBelow;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_STYLESET)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(200, 22 * 7 + 2));
pControlGallery->SetResizable();
pControlGallery->ShowLabels(TRUE);
pControlGallery->SetItems(m_pItemsStyleSet);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_COLORS)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(200, 20 * 9 + 2));
pControlGallery->SetResizable();
pControlGallery->ShowLabels(TRUE);
pControlGallery->SetItems(m_pItemsThemeColors);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_TABLE)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(190, 175));
pControlGallery->ShowLabels(TRUE);
pControlGallery->ShowScrollBar(FALSE);
pControlGallery->SetItems(m_pItemsTable);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_EDIT_FONT)
{
CXTPControlComboBox* pComboFont = new CXTPControlComboBox();
pComboFont->SetDropDownListStyle();
pComboFont->EnableAutoComplete();
pComboFont->SetWidth(145);
CXTPPopupBar* pPopupBar = CXTPControlComboBoxGalleryPopupBar::CreateComboBoxGalleryPopupBar(GetCommandBars());
pComboFont->SetCommandBar(pPopupBar);
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(290, 508));
pControlGallery->SetResizable(FALSE, TRUE);
pControlGallery->ShowLabels(TRUE);
pControlGallery->SetItems(m_pItemsFontFace);
pPopupBar->GetControls()->Add(pControlGallery, ID_GALLERY_FONTFACE);
pPopupBar->InternalRelease();
lpCreateControl->pControl = pComboFont;
return TRUE;
}
if (lpCreateControl->nID == ID_EDIT_SIZE)
{
CXTPControlComboBox* pComboFont = new CXTPControlComboBox();
pComboFont->SetDropDownListStyle();
pComboFont->SetWidth(45);
CXTPPopupBar* pPopupBar = CXTPControlComboBoxGalleryPopupBar::CreateComboBoxGalleryPopupBar(GetCommandBars());
pComboFont->SetCommandBar(pPopupBar);
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(42, 16 * 17));
pControlGallery->SetResizable(FALSE, TRUE);
pControlGallery->SetItems(m_pItemsFontSize);
pPopupBar->GetControls()->Add(pControlGallery, ID_GALLERY_FONTSIZE);
pPopupBar->InternalRelease();
lpCreateControl->pControl = pComboFont;
return TRUE;
}
if (lpCreateControl->nID == ID_EDIT_UNDO)
{
CXTPControlPopup* pControlUndo = CXTPControlPopup::CreateControlPopup(xtpControlSplitButtonPopup);
pControlUndo->SetID(ID_EDIT_UNDO);
CXTPPopupBar* pPopupBar = CXTPPopupBar::CreatePopupBar(GetCommandBars());
pPopupBar->SetShowGripper(FALSE);
pControlUndo->SetCommandBar(pPopupBar);
CXTPControlGallery* pControlGallery = new CControlGalleryUndo();
pControlGallery->SetItems(m_pItemsUndo);
pControlGallery->SetWidth(120);
pPopupBar->GetControls()->Add(pControlGallery, ID_EDIT_UNDO);
CXTPControlStatic* pControlListBoxInfo = (CXTPControlStatic*)pPopupBar->GetControls()->Add(new CXTPControlStatic(), ID_EDIT_UNDO);
pControlListBoxInfo->SetWidth(120);
pControlListBoxInfo->SetFlags(xtpFlagSkipFocus);
pPopupBar->InternalRelease();
lpCreateControl->pControl = pControlUndo;
return TRUE;
}
if (lpCreateControl->nID == ID_FORMAT_BOLD)
{
CXTPControlButton* pControl = new CXTPControlButton();
pControl ->SetFlags(xtpFlagWrapRow);
lpCreateControl->pControl = pControl;
return TRUE;
}
if (lpCreateControl->nID == ID_VIEW_ANIMATE)
{
CXTPControlButton* pControl = new CXTPControlCheckBox();
pControl ->SetFlags(xtpFlagRightAlign);
lpCreateControl->pControl = pControl;
return TRUE;
}
if (lpCreateControl->nID == ID_FORMAT_BACKCOLOR)
{
CXTPControlPopupColor* pPopupColor = new CXTPControlPopupColor();
CXTPPopupBar* pColorBar = (CXTPPopupBar*)CXTPPopupBar::CreatePopupBar(GetCommandBars());
CMenu menu;
menu.LoadMenu(ID_GALLERY_FONTBACKCOLOR);
pColorBar->LoadMenu(menu.GetSubMenu(0));
pPopupColor->SetCommandBar(pColorBar);
pColorBar->EnableCustomization(FALSE);
pColorBar->InternalRelease();
pPopupColor->SetFlags(xtpFlagWrapRow);
lpCreateControl->pControl = pPopupColor;
return TRUE;
}
if (lpCreateControl->nID == ID_FORMAT_FONTCOLOR)
{
CXTPControlPopupColor* pPopupColor = new CXTPControlPopupColor();
CXTPPopupBar* pColorBar = (CXTPPopupBar*)CXTPPopupBar::CreatePopupBar(GetCommandBars());
CMenu menu;
menu.LoadMenu(ID_GALLERY_FONTTEXTCOLOR);
pColorBar->LoadMenu(menu.GetSubMenu(0));
pPopupColor->SetCommandBar(pColorBar);
pColorBar->EnableCustomization(FALSE);
pColorBar->InternalRelease();
lpCreateControl->pControl = pPopupColor;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_FONTTEXTCOLOR)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(171, 145));
pControlGallery->ShowLabels(TRUE);
pControlGallery->ShowScrollBar(FALSE);
pControlGallery->SetItems(m_pItemsFontTextColor);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_FONTBACKCOLOR)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(30 * 5, 30 * 3 + 2));
pControlGallery->ShowScrollBar(FALSE);
pControlGallery->SetItems(m_pItemsFontBackColor);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_FONTS)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(250, 60 * 5 + 2 + 20));
pControlGallery->SetResizable();
pControlGallery->ShowLabels(TRUE);
pControlGallery->SetItems(m_pItemsThemeFonts);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_STYLES)
{
if (lpCreateControl->bToolBar)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(235, 60));
pControlGallery->SetResizable();
pControlGallery->SetItemsMargin(0, 1, 0, 1);
pControlGallery->ShowLabels(FALSE);
pControlGallery->ShowBorders(TRUE);
pControlGallery->SetItems(m_pItemsStyles);
CMenu menu;
menu.LoadMenu(ID_STYLES_QUICKSTYLES);
CXTPPopupBar* pPopupBar = CXTPPopupBar::CreatePopupBar(GetCommandBars());
pPopupBar->LoadMenu(menu.GetSubMenu(0));
pControlGallery->SetCommandBar(pPopupBar);
pPopupBar->InternalRelease();
lpCreateControl->pControl = pControlGallery;
}
else
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetResizable();
pControlGallery->SetControlSize(CSize(235 + 72, 56 * 3));
pControlGallery->SetItems(m_pItemsStyles);
lpCreateControl->pControl = pControlGallery;
}
return TRUE;
}
if (lpCreateControl->nID == ID_GALLERY_SHAPES)
{
CXTPControlGallery* pControlGallery = new CXTPControlGallery();
pControlGallery->SetControlSize(CSize(200, 200));
pControlGallery->SetResizable();
pControlGallery->ShowLabels(TRUE);
pControlGallery->SetItems(m_pItemsShapes);
lpCreateControl->pControl = pControlGallery;
return TRUE;
}
return FALSE;
}
void CMainFrame::OnCustomize()
{
CXTPCustomizeSheet cs(GetCommandBars());
CXTPCustomizeOptionsPage pageOptions(&cs);
cs.AddPage(&pageOptions);
CXTPCustomizeCommandsPage* pCommands = cs.GetCommandsPage();
pCommands->AddCategories(IDR_MAINFRAME);
pCommands->InsertAllCommandsCategory();
pCommands->InsertBuiltInMenus(IDR_MAINFRAME);
pCommands->InsertNewMenuCategory();
cs.DoModal();
}
void CMainFrame::OnViewTheme(UINT nTheme)
{
EnableOffice2007Frame(NULL);
BOOL bEnableAnimation = GetCommandBars()->GetPaintManager()->m_bEnableAnimation;
GetCommandBars()->SetTheme((XTPPaintTheme)(nTheme - ID_VIEW_THEME_OFFICE2000));
GetCommandBars()->GetPaintManager()->m_bEnableAnimation = bEnableAnimation;
if (nTheme >= ID_VIEW_THEME_OFFICE2007)
{
EnableOffice2007Frame(GetCommandBars());
}
GetCommandBars()->RedrawCommandBars();
}
void CMainFrame::OnUpdateViewTheme(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck((int)pCmdUI->m_nID == GetCommandBars()->GetPaintManager()->GetCurrentTheme() + ID_VIEW_THEME_OFFICE2000 ? TRUE : FALSE);
}
void CMainFrame::OnClose()
{
SaveCommandBars(_T("CommandBars2"));
CFrameWnd::OnClose();
}
void CMainFrame::OnGalleryShapes(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
m_nShape = pItem->GetID();
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryShapes(CCmdUI* pCmdUI)
{
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, CXTPControl::FromUI(pCmdUI));
if (pGallery)
{
pGallery->SetCheckedItem(m_nShape);
}
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnGalleryStyles(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
m_nStyle = pItem->GetID();
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryStyles(CCmdUI* pCmdUI)
{
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, CXTPControl::FromUI(pCmdUI));
if (pGallery)
{
pGallery->SetCheckedItem(m_nStyle);
}
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnGalleryStyleSet(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
m_nStyleSet = pItem->GetID();
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryStyleSet(CCmdUI* pCmdUI)
{
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, CXTPControl::FromUI(pCmdUI));
if (pGallery)
{
pGallery->SetCheckedItem(m_nStyleSet);
}
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnGalleryThemeColors(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
m_nThemeColors = pItem->GetID();
m_pItemsFontTextColor->RemoveAll();
pItem = m_pItemsFontTextColor->AddLabel(0);
pItem->SetCaption(_T("Theme Colors"));
CGalleryItemFontColor::AddThemeColors(m_pItemsFontTextColor, m_nThemeColors);
pItem = m_pItemsFontTextColor->AddLabel(0);
pItem->SetCaption(_T("Standard Colors"));
CGalleryItemFontColor::AddStandardColors(m_pItemsFontTextColor);
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryThemeColors(CCmdUI* pCmdUI)
{
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, CXTPControl::FromUI(pCmdUI));
if (pGallery)
{
pGallery->SetCheckedItem(m_nThemeColors);
}
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnGalleryThemeFonts(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
m_nThemeFonts = pItem->GetID();
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryThemeFonts(CCmdUI* pCmdUI)
{
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, CXTPControl::FromUI(pCmdUI));
if (pGallery)
{
pGallery->SetCheckedItem(m_nThemeFonts);
}
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnStylesChange()
{
// TODO: Add your command handler code here
}
void CMainFrame::OnGalleryTable(NMHDR* pNMHDR, LRESULT* pResult)
{
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
CXTPControlGallery* pGallery = DYNAMIC_DOWNCAST(CXTPControlGallery, tagNMCONTROL->pControl);
if (pGallery)
{
CXTPControlGalleryItem* pItem = pGallery->GetItem(pGallery->GetSelectedItem());
if (pItem)
{
}
*pResult = TRUE; // Handled
}
}
void CMainFrame::OnUpdateGalleryTable(CCmdUI* pCmdUI)
{
pCmdUI->Enable(TRUE);
}
void CMainFrame::OnViewAnimate()
{
GetCommandBars()->GetPaintManager()->m_bEnableAnimation ^= 1;
}
void CMainFrame::OnUpdateViewAnimate(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(GetCommandBars()->GetPaintManager()->m_bEnableAnimation);
}
void CMainFrame::OnStylesPreviewStart(NMHDR* /*pHdr*/, LRESULT* /*presult*/)
{
TRACE(_T("\nOnStylesPreviewStart\n"));
}
void CMainFrame::OnStylesPreviewCancel(NMHDR* /*pHdr*/, LRESULT* /*presult*/)
{
TRACE(_T("OnStylesPreviewCancel\n"));
}
void CMainFrame::OnStylesPreviewApply(NMHDR* /*pHdr*/, LRESULT* /*presult*/)
{
TRACE(_T("OnStylesPreviewApply\n"));
}
void CMainFrame::OnStylesPreviewChange(NMHDR* pHdr, LRESULT* /*presult*/)
{
NMXTPCONTROL* pNM = (NMXTPCONTROL*)pHdr;
if (pNM->pControl->GetType() == xtpControlGallery)
{
CXTPControlGallery* pGallery = (CXTPControlGallery*)pNM->pControl;
int nSelected = (pGallery->IsItemSelected() ? pGallery->GetSelectedItem() : -1);
TRACE(_T("OnStylesPreviewChange, %i\n"), nSelected);
}
}