亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? magneticproview.cpp

?? 自己編的用于ENVI
?? CPP
字號:
// MagneticProView.cpp : implementation of the CMagneticProView class
//

#include "stdafx.h"
#include "MagneticPro.h"

#include "MagneticProDoc.h"
#include "MagneticProView.h"
#include "SetDrawParaDialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView

IMPLEMENT_DYNCREATE(CMagneticProView, CScrollView)

BEGIN_MESSAGE_MAP(CMagneticProView, CScrollView)
	//{{AFX_MSG_MAP(CMagneticProView)
	ON_COMMAND(ID_FILE_OPEN_MDATA, OnFileOpenMdata)
	ON_COMMAND(ID_DRAW_CMDATA, OnDrawCMdata)
	ON_COMMAND(ID_DRAW_SUN_CURVE, OnDrawSunCurve)
//	ON_COMMAND(ID_EXCHANG_MAGNETIC, OnExchangMagnetic)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView construction/destruction

CMagneticProView::CMagneticProView()
{
	// TODO: add construction code here
    m_bmp.LoadBitmap(IDB_BITMAP2);
}

CMagneticProView::~CMagneticProView()
{
}

BOOL CMagneticProView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView drawing

void CMagneticProView::OnDraw(CDC* pDC)
{
	CMagneticProDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	CRect rc,memrc;
    CDC *dc=GetDC(),memdc;
    //dc.m_hDC=::GetDC();
    memdc.CreateCompatibleDC(dc);
    memdc.SelectObject(&m_bmp);
    GetClientRect(&rc) ;
    dc->BitBlt(rc.top,rc.left,rc.Width(),rc.Height()
             ,&memdc,rc.top,rc.left,SRCCOPY);
    ReleaseDC(&memdc);
    ReleaseDC(dc);

	// TODO: add draw code for native data here
}

void CMagneticProView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = sizeTotal.cy = 100;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView printing

BOOL CMagneticProView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CMagneticProView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CMagneticProView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView diagnostics

#ifdef _DEBUG
void CMagneticProView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CMagneticProView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CMagneticProDoc* CMagneticProView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMagneticProDoc)));
	return (CMagneticProDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMagneticProView message handlers

void CMagneticProView::OnFileOpenMdata() 
{
	// TODO: Add your command handler code here
	
}
/////////////////////////////////////////////////////////////////////////////
///////               以下程序?qū)崿F(xiàn)繪制磁測數(shù)據(jù)功能           ////////////////
/////////////////////////////////////////////////////////////////////////////

void CMagneticProView::OnDrawCMdata() 
{
	// TODO: Add your command handler code here
	CMagneticProDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	//DrawGrapher(pDoc->XX,pDoc->mPointNum,pDoc->m_MData,pDoc->mPointNum);

	for(int i=0;i<pDoc->mPointNum;i++)
	{
		fTemp[i]=pDoc->m_MData[i].mData;
	}
	DrawGrapher(pDoc->XX,pDoc->mPointNum,fTemp,pDoc->mPointNum);

}

void CMagneticProView::OnDrawSunCurve() 
{
	// TODO: Add your command handler code here
    CMagneticProDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
   
	for(int i=0;i<pDoc->sPointNum;i++)
	{
		fTemp[i]=pDoc->m_SData[i].mData;
	}
	DrawGrapher(pDoc->XX,pDoc->sPointNum,fTemp,pDoc->sPointNum);
} 

bool CMagneticProView::DrawGrapher(double xArray[], int xNum, double yArray[], int yNum)
{
    int Xstart,Ystart,Xdivide,Ydivide,xN,yN;
	double Xscale,Yscale;
	CString tTemp;
  /////////////////////////////////////////////////////////////////////////////////////
    CSetDrawParaDialog sdlg;
    if(sdlg.DoModal())
	{
        ;
	}
	else
	{
       return false;
	}
  ////////////////////////////////////////////////////////////////////////////////////
    //UpdateData(TRUE);
    Xstart=sdlg.m_Xstart;
	Ystart=sdlg.m_Ystart;                      //////////
	Xdivide=sdlg.m_Xdivide;                    //////////  /獲得各項(xiàng)繪圖參數(shù)
	Ydivide=sdlg.m_Ydivide;                    //////////
	xN=sdlg.m_xN;
	yN=sdlg.m_yN;
	Xscale=sdlg.m_Xscale;
	Yscale=sdlg.m_Yscale;
	
    ///////////////////////////////////////////////////////////////////////////////////////
    CDC *pDC=GetDC();
	////////////////////////////////////////////////////////////////////////////////////
    //////////            繪制X-軸                                      ///////////////
	////////////////////////////////////////////////////////////////////////////////////
	 GetMaxMinMid(xArray, xNum);
     Xmax=Ximax;
	 Xmin=Ximin;
	 Xmid=Ximid;
     pDC->MoveTo(Xstart,Ystart);
     pDC->LineTo((int)(Xstart+Xscale*(Xmax-Xmin)),Ystart);
    for(int i=0;i<Xdivide;i++)
	{
	  pDC->MoveTo(Xstart+(int)(i*Xscale*(Xmax-Xmin)/Xdivide),Ystart);
      pDC->LineTo(Xstart+(int)(i*Xscale*(Xmax-Xmin)/Xdivide),Ystart-5);      
	}
	////////////////////////////////////////////////////////////////////////////////////
	for(int i=0;i<=Xdivide;i=i+xN)
	{
		//pDC->MoveTo();
        tTemp.Format("%5.1f",Xmin+i*(Xmax-Xmin)/Xdivide);
		pDC->TextOut(Xstart+(int)(i*Xscale*(Xmax-Xmin)/Xdivide),Ystart+10,tTemp);
	}
    ///////////////////   繪制Y軸                                   ///////////////////
    /////////////////////////////////////////////////////////////////////////////////////
    GetMaxMinMid(yArray, yNum);
     Ymax=Ximax;
	 Ymin=Ximin;
	 Ymid=Ximid;
     pDC->MoveTo(Xstart,Ystart);
     pDC->LineTo(Xstart,Ystart-(int)(Yscale*(Ymax-Ymin)));  //繪制直線
    for(int i=0;i<Ydivide;i++)
	{
	  pDC->MoveTo(Xstart,-(int)(i*Yscale*(Ymax-Ymin)/Ydivide)+Ystart);   //繪制小直線
      pDC->LineTo(Xstart+10,-(int)(i*Yscale*(Ymax-Ymin)/Ydivide)+Ystart);      
	}
    ////////////////////////////////////////////////////////////////////////////////////
    	for(int i=0;i<=Ydivide;i=i+yN)
	{
		//pDC->MoveTo();
        tTemp.Format("%5.1f",Ymin+i*(Ymax-Ymin)/Ydivide);
		pDC->TextOut(Xstart-40,Ystart-(int)(i*Yscale*(Ymax-Ymin)/Ydivide),tTemp);
	}
	/////////////////////////////////////////////////////////////////////////////////
    ////                        繪制曲線                             ////
	/////////////////////////////////////////////////////////////////////////////////
    
	pDC->MoveTo(Xstart,Ystart-(int)((yArray[0]-Ymin)*Yscale*Ydivide/(Ymax-Ymin)));
	for(int i=1;i<xNum,i<yNum;i++)
	{
		pDC->LineTo(Xstart+(int)(i*Xscale/*(Xmax-Xmin)/xNum*/) /*(int)((xArray[i]-Xmin)*Xscale*Xdivide/(Xmax-Xmin))*/,
			Ystart-(int)((yArray[i]-Ymin)*Yscale/*Ydivide*Yscale/(Ymax-Ymin)*/));

    }

  //////////////////////////////////////////////////////////////////////////////////
  //	::AfxMessageBox("Draw finish!");

  return true;
  
}

bool CMagneticProView::GetMaxMinMid(double fArray[], int xNum)
{
	 Xmax=Ximax=Ximid=fArray[0];
	 Xmin=Ximin=fArray[0];
	for(int i=0;i<xNum;i++)
	{
		if(fArray[i]>Xmax)
			Xmax=fArray[i];

		if(fArray[i]<Xmin)
			Xmin=fArray[i];
	}
    Ximax=Xmax;
	Ximin=Xmin;
	Ximid=(Ximax+Ximin)/2.0;
	return true;

}
/*
void CMagneticProView::OnExchangMagnetic() 
{
	// TODO: Add your command handler code here
	CMagneticProDoc::OnExchangMagnetic();
}
*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人福利在线看| av网站免费线看精品| 亚洲国产成人一区二区三区| 欧美亚洲愉拍一区二区| 国产成人精品免费在线| 五月激情丁香一区二区三区| 国产精品盗摄一区二区三区| 精品国产乱码久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品电影一区二区| 精品福利一二区| 欧美日韩国产大片| 一本大道av伊人久久综合| 韩国女主播一区二区三区| 性久久久久久久久久久久| 亚洲天堂福利av| 中文字幕av一区二区三区免费看| 日韩一区二区三区四区 | 精品国产乱码久久久久久牛牛| 欧美网站大全在线观看| 成人一区二区视频| 韩国三级中文字幕hd久久精品| 视频一区欧美精品| 亚洲尤物在线视频观看| 亚洲视频一区二区在线观看| 国产日韩av一区二区| 久久一区二区三区国产精品| 日韩一区二区在线观看| 欧美高清hd18日本| 欧美日本一区二区三区四区| 在线视频国内一区二区| 91精彩视频在线| 91丝袜国产在线播放| 不卡的看片网站| 成人精品国产一区二区4080| 岛国精品一区二区| 成人美女视频在线观看| 成人黄色在线网站| 白白色 亚洲乱淫| 成人激情免费视频| 99久久久久久| 日本精品一区二区三区高清| 一本久久a久久免费精品不卡| 99久久99久久精品国产片果冻| 国产98色在线|日韩| 国产大片一区二区| 成人性生交大片免费看中文网站| 国产凹凸在线观看一区二区| 国产suv精品一区二区三区| 粉嫩久久99精品久久久久久夜| 国产福利一区在线| 成人手机电影网| av中文字幕在线不卡| 99这里都是精品| 欧美视频你懂的| 欧美一级午夜免费电影| 精品少妇一区二区三区| 国产视频一区在线播放| 中文字幕一区免费在线观看| 亚洲精品中文字幕乱码三区| 亚洲高清久久久| 久久国产麻豆精品| 成人免费福利片| 欧美三级资源在线| 日韩一级欧美一级| 中文字幕免费在线观看视频一区| 国产精品久久久久毛片软件| 亚洲自拍另类综合| 蜜桃久久久久久久| 成人免费视频caoporn| 91浏览器在线视频| 日韩区在线观看| 国产精品麻豆99久久久久久| 亚洲精品亚洲人成人网| 乱一区二区av| 99久久免费视频.com| 欧美久久久久久久久久| 久久精品一二三| 亚洲一区二区在线播放相泽| 久久国产尿小便嘘嘘尿| 91麻豆成人久久精品二区三区| 欧美精品成人一区二区三区四区| 久久久不卡影院| 亚洲无人区一区| 国产成人欧美日韩在线电影| 欧美性生活久久| 久久久91精品国产一区二区精品| 亚洲综合一区在线| 韩国毛片一区二区三区| 91久久香蕉国产日韩欧美9色| 日韩精品一区二区三区老鸭窝| 1024亚洲合集| 精品亚洲porn| 欧美日韩亚洲另类| 国产精品情趣视频| 美女www一区二区| 色婷婷av一区二区三区软件 | 《视频一区视频二区| 日产欧产美韩系列久久99| 成a人片国产精品| 日韩亚洲欧美在线| 亚洲自拍都市欧美小说| 成人一区二区视频| 欧美成人在线直播| 亚洲国产欧美一区二区三区丁香婷| 国产成人免费视频网站| 日韩亚洲欧美综合| 婷婷夜色潮精品综合在线| 91丨porny丨蝌蚪视频| 久久久五月婷婷| 日本va欧美va瓶| 欧美年轻男男videosbes| 亚洲色图在线看| 成人短视频下载| 中文字幕不卡在线| 国产一区二区日韩精品| 日韩一区二区视频| 日韩综合小视频| 欧美色图一区二区三区| 亚洲色图视频网站| av电影在线观看一区| 久久精品人人做人人爽97| 久久99久国产精品黄毛片色诱| 91精品久久久久久久91蜜桃| 一级中文字幕一区二区| 一本到三区不卡视频| 国产精品美女视频| 国产91精品精华液一区二区三区| 久久综合久色欧美综合狠狠| 蜜桃视频一区二区三区| 日韩一级完整毛片| 久久精品国产成人一区二区三区 | 日韩一区国产二区欧美三区| 五月激情丁香一区二区三区| 欧美日韩一区二区三区四区五区| 亚洲精品成人在线| 色婷婷av一区二区三区之一色屋| 亚洲精品中文在线| 91福利视频网站| 亚洲成av人片www| 欧美精品aⅴ在线视频| 日本成人中文字幕| 精品理论电影在线观看| 91色乱码一区二区三区| 最新成人av在线| 欧美视频一区二区三区四区| 午夜私人影院久久久久| 欧美电影在哪看比较好| 另类小说图片综合网| 久久久天堂av| 东方aⅴ免费观看久久av| 成人欧美一区二区三区白人 | 久久综合久久综合久久| 丁香激情综合五月| 亚洲欧美偷拍卡通变态| 91国偷自产一区二区三区成为亚洲经典 | 视频一区二区三区在线| 日韩西西人体444www| 激情av综合网| 亚洲天堂中文字幕| 欧美精品欧美精品系列| 精品一区二区三区久久久| 中文字幕欧美三区| 欧美艳星brazzers| 久久99国产精品久久99| 国产精品美女久久久久久久| 一本大道av一区二区在线播放| 日韩精品一二区| 日本一区二区动态图| 色嗨嗨av一区二区三区| 欧美aaaaaa午夜精品| 国产丝袜欧美中文另类| 欧美色中文字幕| 国产精品一区二区三区99| 亚洲免费观看高清完整版在线 | 日韩欧美电影一区| 成人中文字幕合集| 亚洲a一区二区| 欧美国产精品中文字幕| 欧美挠脚心视频网站| 国产福利一区二区三区在线视频| 一区二区三区在线视频免费观看| 日韩欧美在线网站| 99久久精品免费| 久久国产精品无码网站| 亚洲女与黑人做爰| 欧美精品一区二区三区视频| 色婷婷综合久久久中文字幕| 美日韩一级片在线观看| 亚洲人精品一区| www日韩大片| 欧美高清hd18日本| 99久久国产免费看| 激情成人午夜视频| 午夜av区久久| 最新高清无码专区| 久久久精品一品道一区| 在线成人av网站| 色婷婷综合久久久中文一区二区 | 亚洲欧洲国产日韩|