201 lines
5.3 KiB
C++
201 lines
5.3 KiB
C++
// MDITabWindowsView.cpp : implementation of the CMDITabWindowsView class
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT 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 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 "MDITabWindows.h"
|
|
|
|
#include "MDITabWindowsDoc.h"
|
|
#include "MDITabWindowsView.h"
|
|
#include "MainFrm.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView
|
|
|
|
IMPLEMENT_DYNCREATE(CMDITabWindowsView, CEditView)
|
|
|
|
BEGIN_MESSAGE_MAP(CMDITabWindowsView, CEditView)
|
|
//{{AFX_MSG_MAP(CMDITabWindowsView)
|
|
ON_WM_CREATE()
|
|
ON_WM_DROPFILES()
|
|
ON_WM_RBUTTONDOWN()
|
|
ON_COMMAND(ID_FILE_PRINT_PREVIEW, OnFilePrintPreview)
|
|
//}}AFX_MSG_MAP
|
|
// Standard printing commands
|
|
ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
|
|
ON_COMMAND(ID_FILE_PRINT_DIRECT, CEditView::OnFilePrint)
|
|
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CEditView::OnFilePrintPreview)
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView construction/destruction
|
|
|
|
CMDITabWindowsView::CMDITabWindowsView()
|
|
{
|
|
// TODO: add construction code here
|
|
|
|
}
|
|
|
|
CMDITabWindowsView::~CMDITabWindowsView()
|
|
{
|
|
}
|
|
|
|
BOOL CMDITabWindowsView::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
if (!CEditView::PreCreateWindow(cs))
|
|
return FALSE;
|
|
|
|
// TODO: Modify the Window class or styles here by modifying
|
|
// the CREATESTRUCT cs
|
|
|
|
cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL); // Enable word-wrapping
|
|
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView drawing
|
|
|
|
void CMDITabWindowsView::OnDraw(CDC* pDC)
|
|
{
|
|
CMDITabWindowsDoc* pDoc = GetDocument();
|
|
ASSERT_VALID(pDoc);
|
|
|
|
// TODO: add draw code for native data here
|
|
CRect r;
|
|
GetClientRect(&r);
|
|
pDC->Draw3dRect(r.left,r.top,r.Width(),r.Height(),0,0);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView printing
|
|
|
|
BOOL CMDITabWindowsView::OnPreparePrinting(CPrintInfo* pInfo)
|
|
{
|
|
// default CEditView preparation
|
|
return CEditView::OnPreparePrinting(pInfo);
|
|
}
|
|
|
|
void CMDITabWindowsView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
|
|
{
|
|
// Default CEditView begin printing.
|
|
CEditView::OnBeginPrinting(pDC, pInfo);
|
|
}
|
|
|
|
void CMDITabWindowsView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
|
|
{
|
|
// Default CEditView end printing
|
|
CEditView::OnEndPrinting(pDC, pInfo);
|
|
}
|
|
|
|
void CMDITabWindowsView::OnFilePrintPreview()
|
|
{
|
|
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
|
|
ASSERT_VALID(pMainFrame);
|
|
|
|
// show print preview.
|
|
pMainFrame->HideMDITabs();
|
|
//_xtAfxShowPrintPreview( this );
|
|
pMainFrame->ToggleMDITabs();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView diagnostics
|
|
|
|
#ifdef _DEBUG
|
|
void CMDITabWindowsView::AssertValid() const
|
|
{
|
|
CEditView::AssertValid();
|
|
}
|
|
|
|
void CMDITabWindowsView::Dump(CDumpContext& dc) const
|
|
{
|
|
CEditView::Dump(dc);
|
|
}
|
|
|
|
CMDITabWindowsDoc* CMDITabWindowsView::GetDocument() // non-debug version is inline
|
|
{
|
|
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMDITabWindowsDoc)));
|
|
return (CMDITabWindowsDoc*)m_pDocument;
|
|
}
|
|
#endif //_DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMDITabWindowsView message handlers
|
|
|
|
int CMDITabWindowsView::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
{
|
|
if (CEditView::OnCreate(lpCreateStruct) == -1)
|
|
return -1;
|
|
|
|
// TODO: Add your specialized creation code here
|
|
DragAcceptFiles();
|
|
|
|
// SetFont(&XTAuxData().fontBold);
|
|
SetWindowText(_T("Right click on tab to see more options..."));
|
|
|
|
// TODO: Remove this line if you don't want cool
|
|
// menus for this view.
|
|
// m_coolMenu.HookWindow(GetEditCtrl().m_hWnd);
|
|
// m_coolMenu.LoadToolbar(IDR_MAINFRAME);
|
|
|
|
return 0;
|
|
}
|
|
|
|
void CMDITabWindowsView::OnDropFiles(HDROP hDropInfo)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
UINT nFiles = DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
|
|
|
|
TCHAR szFileName[_MAX_PATH + 1];
|
|
UINT nNames;
|
|
for(nNames = 0; nNames < nFiles; nNames++)
|
|
{
|
|
::ZeroMemory(szFileName, _MAX_PATH + 1);
|
|
::DragQueryFile(hDropInfo, nNames, (LPTSTR)szFileName, _MAX_PATH + 1);
|
|
|
|
AfxGetApp()->OpenDocumentFile(szFileName);
|
|
}
|
|
|
|
CEditView::OnDropFiles(hDropInfo);
|
|
}
|
|
|
|
void CMDITabWindowsView::OnRButtonDown(UINT /*nFlags*/, CPoint point)
|
|
{
|
|
CPoint pt = point;
|
|
ClientToScreen(&pt);
|
|
|
|
CMenu menu;
|
|
VERIFY(menu.LoadMenu(IDR_EDIT_POPUP));
|
|
|
|
CWnd* pWndPopupOwner = this;
|
|
while (pWndPopupOwner->GetStyle() & WS_CHILD)
|
|
pWndPopupOwner = pWndPopupOwner->GetParent();
|
|
|
|
CMenu* pPopup = menu.GetSubMenu(0);
|
|
CXTPCommandBars::TrackPopupMenu(pPopup, TPM_RIGHTBUTTON,
|
|
pt.x, pt.y, AfxGetMainWnd(), 0, 0, ((CXTPMDIFrameWnd*)AfxGetMainWnd())->GetCommandBars());
|
|
}
|