【VC开源代码栏目提醒】:网学会员鉴于大家对VC开源代码十分关注,论文会员在此为大家搜集整理了“ydpdView.cpp”一文,供大家参考学习
// ydpdView.cpp : implementation of the CYdpdView class
//
#include "stdafx.h"
#include "ydpd.h"
#include "ydpdDoc.h"
#include "ydpdView.h"
#include "DIB.h"
#include "Track.h"
#include "ydgj.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CYdpdView
DIB cDib;
extern HANDLE hDIBBK1;
extern HANDLE hDIBBK2;
extern HANDLE hDIBBKGray;
extern HANDLE hDIBBKGradient;
HANDLE hDIBCurrent = NULL;
CPoint ImportantPoint,ImportantPoint2,ImpPoiCur;
CPoint ImportantPointSecond;
int ImportantColorInfo[RADIUS*2+1][RADIUS*2+1][3];
int locax,locay;
IMPLEMENT_DYNCREATE(CYdpdView, CScrollView)
BEGIN_MESSAGE_MAP(CYdpdView, CScrollView)
//{{AFX_MSG_MAP(CYdpdView)
ON_COMMAND(ID_MENU_BK_FIRST, OnMenuBkFirst)
ON_COMMAND(ID_MENU_BK_SECOND, OnMenuBkSecond)
ON_COMMAND(ID_MENU_BK_GRAY, OnMenuBkGray)
ON_COMMAND(ID_MENU_GRADIENT, OnMenuGradient)
ON_COMMAND(ID_MENU_PIPEIZHONGXIN, OnMenuPipeizhongxin)
ON_COMMAND(ID_MENU_TEZHENGQUYU, OnMenuTezhengquyu)
ON_COMMAND(ID_MENU_PIPEI, OnMenuPipei)
ON_COMMAND(ID_MEDIFILTER, OnMedifilter)
ON_COMMAND(ID_MENU_FILElOAD, OnMENUFILElOAD)
ON_COMMAND(ID_MENU_YDPD_PIPEI, OnMenuYdpdPipei)
ON_COMMAND(ID_MENU_YDPD_MEDI, OnMenuYdpdMedi)
ON_COMMAND(ID_MENU_YDPD_LKTQ, OnMenuYdpdLktq)
ON_COMMAND(ID_MENU_YDPD_EDGE_GET, OnMenuYdpdEdgeGet)
ON_COMMAND(ID_MENU_YDPD_BLACKWHITE, OnMenuYdpdBlackwhite)
ON_COMMAND(ID_MENU_YDPD_THING, OnMenuYdpdThing)
ON_COMMAND(ID_MENU_YDPD_DELETESCATER, OnMenuYdpdDeletescater)
ON_COMMAND(ID_MENU_YDPD_GUIJI, OnMenuYdpdGuiji)
ON_COMMAND(ID_MENU_YDPD_CENTER, OnMenuYdpdCenter)
ON_COMMAND(ID_MENU_YCX, OnMenuYcx)
ON_COMMAND(ID_SECOND_PIPEI, OnSecondPipei)
ON_COMMAND(ID_MENU_PENGZHANG, OnMenuPengzhang)
ON_COMMAND(ID_MENU_GETEDGE, OnMenuGetedge)
ON_COMMAND(ID_MENU_YDPD_GRAY, OnMenuYdpdGray)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CYdpdView construction/destruction
CYdpdView::CYdpdView()
{
hDIBBK1 = NULL;
hDIBBK2 = NULL;
hDIBBKGray = NULL;
hDIBBKGradient = NULL;
isTeZhengZhi = false;
isBKChonsen = false;
m_Pointnum =0;
}
CYdpdView::~CYdpdView()
{
}
BOOL CYdpdView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CScrollView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CYdpdView drawing
void CYdpdView::OnDraw(CDC* pDC)
{
CYdpdDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if(hDIBBK1 && hDIBBKGray== NULL)
cDib.PaintDIBTrue(pDC->GetSafeHdc(),CRect(0,0,m_bk_first_width,m_bk_first_height),
hDIBBK1,CRect(0,0,m_bk_first_width,m_bk_first_height),SRCCOPY);
if(hDIBBKGray && hDIBBKGradient == NULL)
cDib.PaintDIBTrue(pDC->GetSafeHdc(),CRect(0,0,m_bk_first_width,m_bk_first_height),
hDIBBKGray,CRect(0,0,m_bk_first_width,m_bk_first_height),SRCCOPY);
if(hDIBBKGradient)
cDib.PaintDIBTrue(pDC->GetSafeHdc(),CRect(0,0,m_bk_first_width,m_bk_first_height),
hDIBBKGradient,CRect(0,0,m_bk_first_width,m_bk_first_height),SRCCOPY);
if(hDIBBK2)
{ SetScrollSizes(MM_TEXT,CSize(m_bk_first_width*2+20,m_bk_first_height*2+10));
//SetScrollSizes(MM_TEXT,CSize(m_bk_first_width*2+20,m_bk_first_height));
cDib.PaintDIBTrue(pDC->GetSafeHdc(),CRect(m_bk_first_width+5,0,m_bk_first_width*2+5,m_bk_first_height),
hDIBBK2,CRect(0,0,m_bk_first_width,m_bk_first_height),SRCCOPY);
}
if(hDIBCurrent)
{
cDib.PaintDIBTrue(pDC->GetSafeHdc(),CRect(m_bk_first_width+5,m_bk_first_height+5,m_bk_first_width*2+5,m_bk_first_height*2+5),
hDIBCurrent,CRect(0,0,m_bk_first_width,m_bk_first_height),SRCCOPY);
SetScrollSizes(MM_TEXT,CSize(m_bk_first_widt