185 lines
4 KiB
C++
185 lines
4 KiB
C++
// SampleView.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "SkinSDISample.h"
|
|
#include "SampleView.h"
|
|
#include "Mainfrm.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSampleView
|
|
|
|
IMPLEMENT_DYNCREATE(CSampleView, CFormView)
|
|
|
|
CSampleView::CSampleView()
|
|
: CFormView(CSampleView::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CSampleView)
|
|
m_nSkin = 0;
|
|
m_nTheme = 1;
|
|
m_strFind = _T("");
|
|
m_bMatchCase = FALSE;
|
|
m_bMatchWord = FALSE;
|
|
m_bFlat = FALSE;
|
|
m_bShowGripper = TRUE;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CSampleView::~CSampleView()
|
|
{
|
|
}
|
|
|
|
void CSampleView::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CFormView::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CSampleView)
|
|
DDX_Radio(pDX, IDC_RADIO_LE5, m_nSkin);
|
|
DDX_Radio(pDX, IDC_RADIO_OFFICE2003, m_nTheme);
|
|
DDX_Text(pDX, IDC_EDIT_FIND, m_strFind);
|
|
DDX_Check(pDX, IDC_CHECK_MATCHCASE, m_bMatchCase);
|
|
DDX_Check(pDX, IDC_CHECK_MATCHWORD, m_bMatchWord);
|
|
DDX_Check(pDX, IDC_CHECK_FLAT, m_bFlat);
|
|
DDX_Check(pDX, IDC_CHECK_GRIPPER, m_bShowGripper);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSampleView, CFormView)
|
|
//{{AFX_MSG_MAP(CSampleView)
|
|
ON_BN_CLICKED(IDC_BUTTON_FIND, OnButtonFind)
|
|
ON_BN_CLICKED(IDC_BUTTON_COLORDIALOG, OnButtonColordialog)
|
|
ON_BN_CLICKED(IDC_BUTTON_FONTDIALOG, OnButtonFontdialog)
|
|
ON_BN_CLICKED(IDC_BUTTON_PRINTDIALOG, OnButtonPrintdialog)
|
|
ON_BN_CLICKED(IDC_BUTTON_OPENDIALOG, OnButtonOpendialog)
|
|
ON_BN_CLICKED(IDC_RADIO_LE5, OnSkinChanged)
|
|
ON_BN_CLICKED(IDC_RADIO_OFFICE2003, OnThemeChanged)
|
|
ON_BN_CLICKED(IDC_CHECK_FLAT, OnThemeChanged)
|
|
ON_BN_CLICKED(IDC_RADIO_ITUNES, OnSkinChanged)
|
|
ON_BN_CLICKED(IDC_RADIO_DEFAULT, OnSkinChanged)
|
|
ON_BN_CLICKED(IDC_RADIO_WINXP, OnThemeChanged)
|
|
ON_EN_CHANGE(IDC_EDIT_FIND, OnChangeEditFind)
|
|
ON_BN_CLICKED(IDC_CHECK_GRIPPER, OnCheckGripper)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSampleView diagnostics
|
|
|
|
#ifdef _DEBUG
|
|
void CSampleView::AssertValid() const
|
|
{
|
|
CFormView::AssertValid();
|
|
}
|
|
|
|
void CSampleView::Dump(CDumpContext& dc) const
|
|
{
|
|
CFormView::Dump(dc);
|
|
}
|
|
#endif //_DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSampleView message handlers
|
|
|
|
void CSampleView::OnInitialUpdate()
|
|
{
|
|
CFormView::OnInitialUpdate();
|
|
}
|
|
|
|
|
|
void CSampleView::OnButtonFind()
|
|
{
|
|
UpdateData();
|
|
|
|
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
|
|
CRichEditView* pView = (CRichEditView*)pWnd->m_wndSplitter.GetPane(0, 1);
|
|
|
|
if (!pView->FindText(m_strFind, m_bMatchCase, m_bMatchWord))
|
|
{
|
|
pView->TextNotFound(m_strFind);
|
|
}
|
|
|
|
}
|
|
void CSampleView::OnChangeEditFind()
|
|
{
|
|
UpdateData();
|
|
|
|
GetDlgItem(IDC_BUTTON_FIND)->EnableWindow(!m_strFind.IsEmpty());
|
|
}
|
|
|
|
|
|
void CSampleView::OnButtonColordialog()
|
|
{
|
|
CColorDialog cd;
|
|
cd.DoModal();
|
|
|
|
}
|
|
|
|
void CSampleView::OnButtonFontdialog()
|
|
{
|
|
CFontDialog fd;
|
|
fd.DoModal();
|
|
|
|
}
|
|
|
|
void CSampleView::OnButtonPrintdialog()
|
|
{
|
|
CPrintDialog pd(TRUE);
|
|
pd.DoModal();
|
|
|
|
}
|
|
|
|
void CSampleView::OnButtonOpendialog()
|
|
{
|
|
CFileDialog fd(TRUE);
|
|
|
|
if (XTOSVersionInfo()->IsWin2KOrGreater() && sizeof(OPENFILENAME) < 88 && fd.m_ofn.lStructSize < 88)
|
|
{
|
|
// Windows 2000 version of OPENFILENAME has three extra members,
|
|
// this was copied from newer version of commdlg.h...
|
|
|
|
struct OPENFILENAMEEX
|
|
{
|
|
void* pvReserved; // 4 bytes
|
|
DWORD dwReserved; // 4 bytes
|
|
DWORD FlagsEx; // 4 bytes
|
|
};
|
|
|
|
fd.m_ofn.lStructSize += sizeof(OPENFILENAMEEX); // should equal an additional 12 bytes;
|
|
}
|
|
|
|
fd.DoModal();
|
|
|
|
}
|
|
|
|
void CSampleView::OnSkinChanged()
|
|
{
|
|
UpdateData();
|
|
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
|
|
pWnd->LoadSkin(m_nSkin);
|
|
}
|
|
|
|
void CSampleView::OnThemeChanged()
|
|
{
|
|
UpdateData();
|
|
|
|
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
|
|
pWnd->SetTheme(m_nTheme, m_bFlat);
|
|
}
|
|
|
|
void CSampleView::OnCheckGripper()
|
|
{
|
|
UpdateData();
|
|
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
|
|
|
|
pWnd->GetCommandBars()->GetAt(0)->SetShowGripper(m_bShowGripper);
|
|
pWnd->GetCommandBars()->GetAt(1)->SetShowGripper(m_bShowGripper);
|
|
pWnd->GetCommandBars()->RedrawCommandBars();
|
|
}
|
|
|
|
|