// SheetFormView.cpp // // (c)1998-2025 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 "ExcelTab.h" #include "SheetFormView.h" #ifdef _DEBUG # define new DEBUG_NEW # undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CSheetFormView IMPLEMENT_DYNCREATE(CSheetFormView, CFormView) CSheetFormView::CSheetFormView() : CFormView(CSheetFormView::IDD) , m_clrText(COLORREF_NULL) , m_clrBack(COLORREF_NULL) { //{{AFX_DATA_INIT(CSheetFormView) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } CSheetFormView::~CSheetFormView() { } void CSheetFormView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSheetFormView) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP // DDX_Control(pDX, IDC_GBOX_SEASON, m_radio1); DDX_Control(pDX, IDC_FORMVIEW_RADIO1, m_radio1); DDX_Control(pDX, IDC_FORMVIEW_RADIO2, m_radio2); DDX_Control(pDX, IDC_FORMVIEW_RADIO3, m_radio3); DDX_Control(pDX, IDC_FORMVIEW_RADIO4, m_radio4); DDX_Control(pDX, IDC_FORMVIEW_GROUPBOX, m_group); } BEGIN_MESSAGE_MAP(CSheetFormView, CFormView) //{{AFX_MSG_MAP(CSheetFormView) ON_WM_CREATE() #if 0 // Prevent black Group box in Vc 2010 ON_WM_ERASEBKGND() ON_WM_PAINT() #endif ON_WM_CTLCOLOR() ON_MESSAGE(WM_XTP_SETCONTROLTHEME, OnSetControlTheme) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSheetFormView diagnostics #ifdef _DEBUG void CSheetFormView::AssertValid() const { CFormView::AssertValid(); } void CSheetFormView::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CSheetFormView message handlers CScrollBar* CSheetFormView::GetScrollBarCtrl(int nBar) const { if (nBar == SB_HORZ) { return (CScrollBar*)&m_ScrollBarH; } return CFormView::GetScrollBarCtrl(nBar); } int CSheetFormView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFormView::OnCreate(lpCreateStruct) == -1) return -1; m_ScrollBarH.Create(WS_CHILD, CRect(0, 0, 0, 0), this, 0); return 0; } BOOL CSheetFormView::OnEraseBkgnd(CDC* pDC) { UNREFERENCED_PARAMETER(pDC); return TRUE; } void CSheetFormView::OnPaint() { CPaintDC dc(this); // Get the client rect, and paint to a memory device context. This will // help reduce screen flicker. Pass the memory device context to the // default window procedure do default painting. CXTPClientRect rc(this); CXTPBufferDC memDC(dc, rc); memDC.FillSolidRect(rc, GetSysColor(COLOR_3DFACE)); CFormView::DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, 0); } HBRUSH CSheetFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hBrush = CFormView::OnCtlColor(pDC, pWnd, nCtlColor); if (nCtlColor == CTLCOLOR_DLG || nCtlColor == CTLCOLOR_BTN || nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkColor(m_clrBack); pDC->SetTextColor(m_clrText); return m_brBack; } return hBrush; } LRESULT CSheetFormView::OnSetControlTheme(WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(lParam); m_clrText = XTPIniColor(_T("Controls.Button"), _T("Text"), ::GetSysColor(COLOR_BTNTEXT)); m_clrBack = XTPIniColor(_T("Controls.Button"), _T("Back"), ::GetSysColor(COLOR_BTNFACE)); m_brBack.DeleteObject(); m_brBack.CreateSolidBrush(m_clrBack); return 0; }