// WindowPosView.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 "WindowPos.h" #include "WindowPosDoc.h" #include "WindowPosView.h" #ifdef _DEBUG # define new DEBUG_NEW # undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CWindowPosView IMPLEMENT_DYNCREATE(CWindowPosView, CView) BEGIN_MESSAGE_MAP(CWindowPosView, CView) //{{AFX_MSG_MAP(CWindowPosView) ON_WM_PAINT() ON_WM_ERASEBKGND() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CWindowPosView construction/destruction CWindowPosView::CWindowPosView() { // create default font for edit control. LOGFONT lf; CXTPDrawHelpers::GetDefaultLogFont(&lf); m_fontView.CreateFontIndirect(&lf); } CWindowPosView::~CWindowPosView() { } BOOL CWindowPosView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CWindowPosView drawing void CWindowPosView::OnDraw(CDC* pDC) { CXTPFontDC font(pDC, &m_fontView); CString strMessage( _T("The Window Position sample demonstrates how to use the window position control. ") _T("The\r\n") _T("window position control will remember and restore the size and position of the ") _T("last\r\n") _T("window open in the MDI view. Not only is the child window's position saved, but ") _T("the\r\n") _T("main application's size and position is saved and restored too. This eliminates ") _T("users\r\n") _T("having to manually resize and move windows each time you application is opened.")); CRect rcMessage(10, 10, 0, 0); pDC->DrawText(strMessage, rcMessage, DT_CALCRECT); pDC->DrawText(strMessage, rcMessage, DT_TOP | DT_LEFT); } ///////////////////////////////////////////////////////////////////////////// // CWindowPosView printing BOOL CWindowPosView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CWindowPosView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CWindowPosView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CWindowPosView diagnostics #ifdef _DEBUG void CWindowPosView::AssertValid() const { CView::AssertValid(); } void CWindowPosView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CWindowPosDoc* CWindowPosView::GetDocument() // non-debug version is inline { _ASSERTE(m_pDocument->IsKindOf(RUNTIME_CLASS(CWindowPosDoc))); return (CWindowPosDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CWindowPosView message handlers void CWindowPosView::OnPaint() { // standard paint routine CPaintDC dc(this); // Get the client rect. CRect rectClient; GetClientRect(&rectClient); // Paint to a memory device context to reduce screen flicker. CXTPBufferDC memDC(dc, rectClient); memDC.FillSolidRect(rectClient, GetXtremeColor(COLOR_WINDOW)); OnPrepareDC(&memDC); OnDraw(&memDC); } BOOL CWindowPosView::OnEraseBkgnd(CDC* pDC) { UNREFERENCED_PARAMETER(pDC); return FALSE; }