www.pudn.com > smsinterface.rar > LeftView.cpp


// LeftView.cpp : implementation of the CLeftView class 
// 
 
#include "stdafx.h" 
#include "smsinterface.h" 
 
#include "smsinterfaceDoc.h" 
#include "LeftView.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView 
 
IMPLEMENT_DYNCREATE(CLeftView, CView) 
 
BEGIN_MESSAGE_MAP(CLeftView, CView) 
	//{{AFX_MSG_MAP(CLeftView) 
	ON_WM_MOUSEMOVE() 
	ON_WM_LBUTTONDOWN() 
	ON_WM_LBUTTONUP() 
	//}}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() 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView construction/destruction 
 
CLeftView::CLeftView() 
{ 
	// TODO: add construction code here 
	m_bitface.LoadBitmap(IDB_BITMAP_BG); 
	m_bitsendpic.LoadBitmap(IDB_BITMAP_SEND); 
	m_bitdelpic.LoadBitmap(IDB_BITMAP_DEL); 
	m_biteditpic.LoadBitmap(IDB_BITMAP_EDIT); 
	m_bitsetpic.LoadBitmap(IDB_BITMAP_SET); 
	m_senddown=FALSE; 
	m_rgn=RGN_MAIN; 
	m_whichform=1; 
} 
 
CLeftView::~CLeftView() 
{ 
	m_bitface.DeleteObject(); 
	m_bitsendpic.DeleteObject(); 
	m_bitdelpic.DeleteObject(); 
	m_biteditpic.DeleteObject(); 
	m_bitsetpic.DeleteObject(); 
} 
 
BOOL CLeftView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
 
	return CView::PreCreateWindow(cs); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView drawing 
 
void CLeftView::OnDraw(CDC* pDC) 
{ 
//	CSmsinterfaceDoc* pDoc = GetDocument(); 
//	ASSERT_VALID(pDoc); 
 
	// TODO: add draw code for native data here 
	CRect myrc; 
	GetClientRect(&myrc); 
	CDC imgdc; 
	BITMAP BM; 
	imgdc.CreateCompatibleDC(NULL); 
	imgdc.SelectObject(&m_bitface);  
	m_bitface.GetObject(sizeof(BM),&BM); 
    //pDC->BitBlt(0, 0, BM.bmWidth,BM.bmHeight, &imgdc,0,0,SRCCOPY); 
	pDC->StretchBlt(0,0,BM.bmWidth,BM.bmHeight,&imgdc,0,0,myrc.Width(),myrc.Height(),SRCCOPY); 
	imgdc.SelectObject(&m_bitsendpic); 
	m_bitsendpic.GetObject(sizeof(BM),&BM); 
	pDC->BitBlt(30,30,BM.bmWidth,BM.bmHeight,&imgdc,0,0,SRCCOPY); 
	imgdc.SelectObject(&m_bitdelpic); 
	m_bitdelpic.GetObject(sizeof(BM),&BM); 
	pDC->BitBlt(30,130,BM.bmWidth,BM.bmHeight,&imgdc,0,0,SRCCOPY); 
	imgdc.SelectObject(&m_biteditpic); 
	m_biteditpic.GetObject(sizeof(BM),&BM); 
	pDC->BitBlt(30,230,BM.bmWidth,BM.bmHeight,&imgdc,0,0,SRCCOPY); 
	imgdc.SelectObject(&m_bitsetpic); 
	m_bitsetpic.GetObject(sizeof(BM),&BM); 
	pDC->BitBlt(30,330,BM.bmWidth,BM.bmHeight,&imgdc,0,0,SRCCOPY); 
	imgdc.DeleteDC(); 
} 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView printing 
 
BOOL CLeftView::OnPreparePrinting(CPrintInfo* pInfo) 
{ 
	// default preparation 
	return DoPreparePrinting(pInfo); 
} 
 
void CLeftView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add extra initialization before printing 
} 
 
void CLeftView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add cleanup after printing 
} 
 
void CLeftView::OnInitialUpdate() 
{ 
	CView::OnInitialUpdate(); 
 
	// TODO: You may populate your TreeView with items by directly accessing 
	//  its tree control through a call to GetTreeCtrl(). 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView diagnostics 
 
#ifdef _DEBUG 
void CLeftView::AssertValid() const 
{ 
	CView::AssertValid(); 
} 
 
void CLeftView::Dump(CDumpContext& dc) const 
{ 
	CView::Dump(dc); 
} 
 
CSmsinterfaceDoc* CLeftView::GetDocument() // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSmsinterfaceDoc))); 
	return (CSmsinterfaceDoc*)m_pDocument; 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CLeftView message handlers 
 
void CLeftView::OnMouseMove(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	if((point.x>30)&&(point.x<66)&&(point.y>30)&&(point.y<114)) 
	{ 
		if(m_rgn==RGN_MAIN) 
		{ 
			m_rgn=RGN_SEND; 
			m_bitsendpic.DeleteObject(); 
			m_bitsendpic.LoadBitmap(IDB_BITMAP_SENDUP); 
			this->Invalidate(TRUE); 
		}; 
			CView::OnMouseMove(nFlags, point); 
			return; 
	} 
	if((point.x>30)&&(point.x<100)&&(point.y>130)&&(point.y<176)) 
	{ 
		if(m_rgn==RGN_MAIN) 
		{ 
			m_rgn=RGN_DEL; 
			m_bitdelpic.DeleteObject(); 
			m_bitdelpic.LoadBitmap(IDB_BITMAP_DELUP); 
			this->Invalidate(TRUE); 
		} 
			CView::OnMouseMove(nFlags, point); 
			return; 
		 
	} 
	if((point.x>30)&&(point.x<90)&&(point.y>230)&&(point.y<305)) 
	{ 
		if(m_rgn==RGN_MAIN) 
		{ 
			m_rgn=RGN_EDIT; 
			m_biteditpic.DeleteObject(); 
			m_biteditpic.LoadBitmap(IDB_BITMAP_EDITUP); 
			this->Invalidate(TRUE); 
		} 
			CView::OnMouseMove(nFlags, point); 
			return; 
		 
	} 
	if((point.x>30)&&(point.x<66)&&(point.y>330)&&(point.y<415)) 
	{ 
		if(m_rgn==RGN_MAIN) 
		{ 
			m_rgn=RGN_SET; 
			m_bitsetpic.DeleteObject(); 
			m_bitsetpic.LoadBitmap(IDB_BITMAP_SETUP); 
			this->Invalidate(TRUE); 
		} 
			CView::OnMouseMove(nFlags, point); 
			return; 
		 
	} 
	if(m_rgn==RGN_SEND) 
		{ 
			m_rgn=RGN_MAIN; 
			m_bitsendpic.DeleteObject(); 
			m_bitsendpic.LoadBitmap(IDB_BITMAP_SEND); 
			this->Invalidate(TRUE); 
			CView::OnMouseMove(nFlags, point); 
			return; 
		} 
	if(m_rgn==RGN_DEL) 
		{ 
			m_rgn=RGN_MAIN; 
			m_bitdelpic.DeleteObject(); 
			m_bitdelpic.LoadBitmap(IDB_BITMAP_DEL); 
			this->Invalidate(TRUE); 
			CView::OnMouseMove(nFlags, point); 
			return; 
		} 
	if(m_rgn==RGN_EDIT) 
		{ 
			m_rgn=RGN_MAIN; 
			m_biteditpic.DeleteObject(); 
			m_biteditpic.LoadBitmap(IDB_BITMAP_EDIT); 
			this->Invalidate(TRUE); 
			CView::OnMouseMove(nFlags, point); 
			return; 
		} 
	if(m_rgn==RGN_SET) 
		{ 
			m_rgn=RGN_MAIN; 
			m_bitsetpic.DeleteObject(); 
			m_bitsetpic.LoadBitmap(IDB_BITMAP_SET); 
			this->Invalidate(TRUE); 
			CView::OnMouseMove(nFlags, point); 
			return; 
		} 
	CView::OnMouseMove(nFlags, point); 
} 
 
 
void CLeftView::OnLButtonDown(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	if((point.x>30)&&(point.x<66)&&(point.y>30)&&(point.y<114)) 
	{ 
		m_rgn=RGN_SEND; 
		m_bitsendpic.DeleteObject(); 
		m_bitsendpic.LoadBitmap(IDB_BITMAP_SENDDOWN); 
		this->Invalidate(TRUE); 
		CView::OnLButtonDown(nFlags, point); 
		return; 
	} 
	if((point.x>30)&&(point.x<100)&&(point.y>130)&&(point.y<176)) 
	{ 
		m_rgn=RGN_DEL; 
		m_bitdelpic.DeleteObject(); 
		m_bitdelpic.LoadBitmap(IDB_BITMAP_DELDOWN); 
		this->Invalidate(TRUE); 
		CView::OnLButtonDown(nFlags, point); 
		return; 
		 
	} 
	if((point.x>30)&&(point.x<90)&&(point.y>230)&&(point.y<305)) 
	{ 
			m_rgn=RGN_EDIT; 
			m_biteditpic.DeleteObject(); 
			m_biteditpic.LoadBitmap(IDB_BITMAP_EDITDOWN); 
			this->Invalidate(TRUE); 
			CView::OnLButtonDown(nFlags, point); 
			return; 
		 
	} 
	if((point.x>30)&&(point.x<66)&&(point.y>330)&&(point.y<415)) 
	{ 
			m_rgn=RGN_SET; 
			m_bitsetpic.DeleteObject(); 
			m_bitsetpic.LoadBitmap(IDB_BITMAP_SETDOWN); 
			this->Invalidate(TRUE); 
			CView::OnLButtonDown(nFlags, point); 
			return; 
		 
	} 
	CView::OnLButtonDown(nFlags, point); 
	 
} 
 
void CLeftView::OnLButtonUp(UINT nFlags, CPoint point)  
{ 
	// TODO: Add your message handler code here and/or call default 
	CFrameWnd* pframe; 
	int result;	 
	if((point.x>30)&&(point.x<66)&&(point.y>30)&&(point.y<114)) 
	{ 
		m_rgn=RGN_SEND; 
		m_bitsendpic.DeleteObject(); 
		m_bitsendpic.LoadBitmap(IDB_BITMAP_SENDUP); 
		this->Invalidate(TRUE); 
		CView::OnLButtonUp(nFlags, point); 
		pframe=this->GetParentFrame(); 
		result=pframe->PostMessage(WM_SENDFORM,m_whichform,0); 
		if(result) 
			m_whichform=1; 
		return; 
	} 
	if((point.x>30)&&(point.x<100)&&(point.y>130)&&(point.y<176)) 
	{ 
		m_rgn=RGN_DEL; 
		m_bitdelpic.DeleteObject(); 
		m_bitdelpic.LoadBitmap(IDB_BITMAP_DELUP); 
		this->Invalidate(TRUE); 
		CView::OnLButtonUp(nFlags, point); 
		pframe=this->GetParentFrame(); 
		result=pframe->PostMessage(WM_DELFORM,m_whichform,0); 
		if(result) 
			m_whichform=2; 
		return; 
		 
	} 
	if((point.x>30)&&(point.x<90)&&(point.y>230)&&(point.y<305)) 
	{ 
			m_rgn=RGN_EDIT; 
			m_biteditpic.DeleteObject(); 
			m_biteditpic.LoadBitmap(IDB_BITMAP_EDITUP); 
			this->Invalidate(TRUE); 
			CView::OnLButtonUp(nFlags, point); 
		pframe=this->GetParentFrame(); 
		result=pframe->PostMessage(WM_EDITFORM,m_whichform,0); 
		if(result) 
			m_whichform=3; 
		return; 
		 
	} 
	if((point.x>30)&&(point.x<66)&&(point.y>330)&&(point.y<415)) 
	{ 
			m_rgn=RGN_SET; 
			m_bitsetpic.DeleteObject(); 
			m_bitsetpic.LoadBitmap(IDB_BITMAP_SETUP); 
			this->Invalidate(TRUE); 
			CView::OnLButtonUp(nFlags, point); 
		pframe=this->GetParentFrame(); 
		result=pframe->PostMessage(WM_SETFORM,m_whichform,0); 
		if(result) 
			m_whichform=4; 
		return; 
		 
	} 
	CView::OnLButtonUp(nFlags, point); 
} 
 
LRESULT CLeftView::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)  
{ 
	// TODO: Add your specialized code here and/or call the base class 
	if(message==WM_GETPHONEBOOKLIST) 
	{ 
		message=message; 
	} 
	if(message==WM_GETSMTEXT) 
	{ 
		message=message; 
	} 
	return CView::DefWindowProc(message, wParam, lParam); 
}