www.pudn.com > ·­Òë³ÌÐò.rar > TransView.cpp


// TransView.cpp : implementation of the CTransView class 
// 
 
#include "stdafx.h" 
#include "Trans.h" 
 
#include "TransDoc.h" 
#include "TransView.h" 
#include "SenDlg.h" 
#include "WordDlg.h" 
#include  
#include "afxwin.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView 
 
IMPLEMENT_DYNCREATE(CTransView, CView) 
 
BEGIN_MESSAGE_MAP(CTransView, CView) 
	//{{AFX_MSG_MAP(CTransView) 
	ON_COMMAND(ID_WORD, OnWord) 
	ON_COMMAND(ID_SENTENCE, OnSentence) 
	//}}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() 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView construction/destruction 
 
CTransView::CTransView() 
{ 
	// TODO: add construction code here 
	Count=0; 
	m_C[0]=" "; 
	m_E[0]=" "; 
 
 
} 
 
CTransView::~CTransView() 
{ 
} 
 
BOOL CTransView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
 
	return CView::PreCreateWindow(cs); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView drawing 
 
void CTransView::OnDraw(CDC* pDC) 
{ 
	CTransDoc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	// TODO: add draw code for native data here 
 
	CString s1; 
	s1.Format("Total Words: %d",Count); 
	CString s2; 
	s2.Format("English: %s",m_ETrans); 
	CString s3; 
	s3.Format("Chinese: %s",m_CTrans); 
	pDC->SetTextColor(RGB(0,20,255)); 
	pDC->TextOut(100,200,s1); 
	pDC->TextOut(100,250,s2); 
	pDC->TextOut(100,300,s3); 
 
 
 
 
 
 
 
 
 
 
 
 
	 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView printing 
 
BOOL CTransView::OnPreparePrinting(CPrintInfo* pInfo) 
{ 
	// default preparation 
	return DoPreparePrinting(pInfo); 
} 
 
void CTransView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add extra initialization before printing 
} 
 
void CTransView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add cleanup after printing 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView diagnostics 
 
#ifdef _DEBUG 
void CTransView::AssertValid() const 
{ 
	CView::AssertValid(); 
} 
 
void CTransView::Dump(CDumpContext& dc) const 
{ 
	CView::Dump(dc); 
} 
 
CTransDoc* CTransView::GetDocument() // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTransDoc))); 
	return (CTransDoc*)m_pDocument; 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CTransView message handlers 
 
void CTransView::OnWord()  
{ 
	// TODO: Add your command handler code here 
	CWordDlg dlg2; 
	if(dlg2.DoModal()==IDOK) 
	{ 
		m_E[Count]=dlg2.m_stre; 
		m_C[Count]=dlg2.m_strc; 
		Count++; 
	} 
	Invalidate(); 
	 
} 
 
void CTransView::OnSentence()  
{ 
	// TODO: Add your command handler code here 
	CSenDlg dlg1; 
	CString w2; 
 
	if(dlg1.DoModal()==IDOK) 
	{ 
		m_ETrans=dlg1.m_sten; 
		CString w1; 
 
		int s=-1; 
		int t=0; 
		while(t!=-1) 
		{ 
			t=m_ETrans.Find(' ',s+1); 
			if(t!=-1) 
				w1=m_ETrans.Mid(s+1,t-s-1); 
			if(t==-1) 
				w1=m_ETrans.Mid(s+1,m_ETrans.GetLength()-1); 
			s=t; 
 			if(w1.GetLength()>0) 
			{ 
				for(int j=0;j