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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zhifangtuxing.cpp

?? ISO9000質量管理小程序
?? CPP
字號:
// ZhifangTuxing.cpp : implementation file
//

#include "stdafx.h"
#include "Ex07b.h"
#include "ZhifangTuxing.h"

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





/////////////////////////////////////////////////////////////////////////////
// CZhifangTuxing

IMPLEMENT_DYNCREATE(CZhifangTuxing, CScrollView)

CZhifangTuxing::CZhifangTuxing()
{
}

CZhifangTuxing::~CZhifangTuxing()
{
}


BEGIN_MESSAGE_MAP(CZhifangTuxing, CScrollView)
	//{{AFX_MSG_MAP(CZhifangTuxing)
	//}}AFX_MSG_MAP
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)  //Attention here!!!!
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)  //Attention here!!!!
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)  //Attention here!!!!


END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CZhifangTuxing drawing

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

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

void CZhifangTuxing::OnDraw(CDC* pDC)
{
	CEx07bDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	int b=350;					//直方圖的下界
	int w=30;					//每一條直方圖的寬度


	//定坐標

	int Hsx=10;					//橫坐標起始點的X坐標
	int Hsy=b;
	int Hex=w*pDoc->m_lk+100;	//------終止點的-----
	int Hey=Hsy;
	int Zsx=50;
	int Zsy=Hsy;
	int Zex=Zsx;
	int Zey=50;


	//畫直方圖
	int i=0;
	int top=80;			//確定顯示圖形距框架頂的距離

	char str[64];
	long Hz=0;		  //確定顯示圖形的高度
	CZftfzsj *pZftfzsj;

	POSITION pos=pDoc->m_zfdataList.GetHeadPosition();
	//取出頻率的最最大值
	while (pos!=NULL)
	{
		pZftfzsj=pDoc->m_zfdataList.GetNext(pos);
		if (pZftfzsj->m_zfi>Hz)
			Hz=pZftfzsj->m_zfi;
	}



	pos=pDoc->m_zfdataList.GetHeadPosition();
		while (pos!=NULL)
		{
			CZftfzsj * pZftfzsj=pDoc->m_zfdataList.GetNext(pos);
			RECT Rect;
		
			Rect.left=Zsx+i*w;//(298-12)/6;
			Rect.top=b-(pZftfzsj->m_zfi*(b-top)/Hz);
			Rect.right=Rect.left+w;//(298-12)/6;
			Rect.bottom=b;
		
			CBrush Brush3(RGB((50+i*210),((i-1)*310),(150+i*125)));
			CBrush *pOldBrush=pDC->SelectObject(&Brush3);
			pDC->FillRect(&Rect,&Brush3);
		
			//寫方框上的頻率
			sprintf(str,"%d",pZftfzsj->m_zfi);
			pDC->TextOut(Rect.left+8,Rect.top-20,str);
	
//寫坐標下的數據
			if (i%2==0)
			{
			pDC->SetTextColor(RGB((50+i*210),((i-1)*310),(150+i*125)));
			sprintf(str,"%6.1f",pZftfzsj->m_zmin);
			pDC->TextOut(Zsx-25+i*w,b+20,str);
			sprintf(str,"%6.1f",pZftfzsj->m_zmax);
			pDC->TextOut(Zsx-25+(i+1)*w,b+5,str);
			}
			
			i++;
			pDC->SelectObject(pOldBrush);

		}
//補充坐標下的數據
//		pDoc->m_lk=int(pDoc->m_lk);
//		if (pDoc->m_lk%2==0)
//		{
//			sprintf(str,"%6.1f",pZftfzsj->m_zmax);
//			pDC->TextOut(Zsx-25+i*w,b+20,str);
//		}



	//畫坐標
	CPen pen1;
	pen1.CreatePen(PS_ENDCAP_ROUND,2,RGB(255,128,128));
	CPen *pOldPen=pDC->SelectObject(&pen1);
//	pDC->SelectObject(&pen1);
	pDC->MoveTo(Hsx,Hsy);
	pDC->LineTo(Hex,Hey);
	pDC->MoveTo(Zsx,Zsy);
	pDC->LineTo(Zex,Zey);

//畫坐標的箭頭
	pDC->MoveTo(Hex,Hey);
	pDC->LineTo(Hex-10,Hey-3);
	pDC->MoveTo(Hex,Hey);
	pDC->LineTo(Hex-10,Hey+3);

	pDC->MoveTo(Zex,Zey);
	pDC->LineTo(Zex-3,Zey+10);
	pDC->MoveTo(Zex,Zey);
	pDC->LineTo(Zex+3,Zey+10);

	pDC->SelectObject(pOldPen);

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

/////////////////////////////////////////////////////////////////////////////
// CZhifangTuxing diagnostics

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

void CZhifangTuxing::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}
	 CEx07bDoc * CZhifangTuxing::GetDocument()
	
	{
		ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CEx07bDoc)));
		return (CEx07bDoc*)m_pDocument;
	
	}


#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CZhifangTuxing message handlers

void CZhifangTuxing::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	Invalidate(true);
}

//#ifdef _DEBUG

//	 CEx07bDoc * CZhifangTuxing::GetDocument()
//	{
//		ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CEx07bDoc)));
//		return (CEx07bDoc*)m_pDocument;
	
//	}
//#endif




	// TODO: Add your command handler code here

/*	// get default print info
	CPrintInfo printInfo;
	ASSERT(printInfo.m_pPD != NULL);    // must be set

	if (LOWORD(GetCurrentMessage()->wParam) == ID_FILE_PRINT_DIRECT)
	{
		CCommandLineInfo* pCmdInfo = AfxGetApp()->m_pCmdInfo;

		if (pCmdInfo != NULL)
		{
			if (pCmdInfo->m_nShellCommand == CCommandLineInfo::FilePrintTo)
			{
				printInfo.m_pPD->m_pd.hDC = ::CreateDC(pCmdInfo->m_strDriverName,
					pCmdInfo->m_strPrinterName, pCmdInfo->m_strPortName, NULL);
				if (printInfo.m_pPD->m_pd.hDC == NULL)
				{
					AfxMessageBox(AFX_IDP_FAILED_TO_START_PRINT);
					return;
				}
			}
		}

		printInfo.m_bDirect = TRUE;
	}

	if (OnPreparePrinting(&printInfo))
	{
		// hDC must be set (did you remember to call DoPreparePrinting?)
		ASSERT(printInfo.m_pPD->m_pd.hDC != NULL);

		// gather file to print to if print-to-file selected
		CString strOutput;
		if (printInfo.m_pPD->m_pd.Flags & PD_PRINTTOFILE && !printInfo.m_bDocObject)
		{
			// construct CFileDialog for browsing
			CString strDef(MAKEINTRESOURCE(AFX_IDS_PRINTDEFAULTEXT));
			CString strPrintDef(MAKEINTRESOURCE(AFX_IDS_PRINTDEFAULT));
			CString strFilter(MAKEINTRESOURCE(AFX_IDS_PRINTFILTER));
			CString strCaption(MAKEINTRESOURCE(AFX_IDS_PRINTCAPTION));
			CFileDialog dlg(FALSE, strDef, strPrintDef,
				OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, strFilter);
			dlg.m_ofn.lpstrTitle = strCaption;

			if (dlg.DoModal() != IDOK)
				return;

			// set output device to resulting path name
			strOutput = dlg.GetPathName();
		}

		// set up document info and start the document printing process
		CString strTitle;
		CDocument* pDoc = GetDocument();
		if (pDoc != NULL)
			strTitle = pDoc->GetTitle();
		else
			GetParentFrame()->GetWindowText(strTitle);
		if (strTitle.GetLength() > 31)
			strTitle.ReleaseBuffer(31);
		DOCINFO docInfo;
		memset(&docInfo, 0, sizeof(DOCINFO));
		docInfo.cbSize = sizeof(DOCINFO);
		docInfo.lpszDocName = strTitle;
		CString strPortName;
		int nFormatID;
		if (strOutput.IsEmpty())
		{
			docInfo.lpszOutput = NULL;
			strPortName = printInfo.m_pPD->GetPortName();
			nFormatID = AFX_IDS_PRINTONPORT;
		}
		else
		{
			docInfo.lpszOutput = strOutput;
			AfxGetFileTitle(strOutput,
				strPortName.GetBuffer(_MAX_PATH), _MAX_PATH);
			nFormatID = AFX_IDS_PRINTTOFILE;
		}

		// setup the printing DC
		CDC dcPrint;
		if (!printInfo.m_bDocObject)
		{
			dcPrint.Attach(printInfo.m_pPD->m_pd.hDC);  // attach printer dc
			dcPrint.m_bPrinting = TRUE;
		}
		OnBeginPrinting(&dcPrint, &printInfo);

		if (!printInfo.m_bDocObject)
			dcPrint.SetAbortProc(_AfxAbortProc);

		// disable main window while printing & init printing status dialog
		AfxGetMainWnd()->EnableWindow(FALSE);
		CPrintingDialog dlgPrintStatus(this);

		CString strTemp;
		dlgPrintStatus.SetDlgItemText(AFX_IDC_PRINT_DOCNAME, strTitle);
		dlgPrintStatus.SetDlgItemText(AFX_IDC_PRINT_PRINTERNAME,
			printInfo.m_pPD->GetDeviceName());
		AfxFormatString1(strTemp, nFormatID, strPortName);
		dlgPrintStatus.SetDlgItemText(AFX_IDC_PRINT_PORTNAME, strTemp);
		dlgPrintStatus.ShowWindow(SW_SHOW);
		dlgPrintStatus.UpdateWindow();

		// start document printing process
		if (!printInfo.m_bDocObject && dcPrint.StartDoc(&docInfo) == SP_ERROR)
		{
			// enable main window before proceeding
			AfxGetMainWnd()->EnableWindow(TRUE);

			// cleanup and show error message
			OnEndPrinting(&dcPrint, &printInfo);
			dlgPrintStatus.DestroyWindow();
			dcPrint.Detach();   // will be cleaned up by CPrintInfo destructor
			AfxMessageBox(AFX_IDP_FAILED_TO_START_PRINT);
			return;
		}

		// Guarantee values are in the valid range
		UINT nEndPage = printInfo.GetToPage();
		UINT nStartPage = printInfo.GetFromPage();

		if (nEndPage < printInfo.GetMinPage())
			nEndPage = printInfo.GetMinPage();
		if (nEndPage > printInfo.GetMaxPage())
			nEndPage = printInfo.GetMaxPage();

		if (nStartPage < printInfo.GetMinPage())
			nStartPage = printInfo.GetMinPage();
		if (nStartPage > printInfo.GetMaxPage())
			nStartPage = printInfo.GetMaxPage();

		int nStep = (nEndPage >= nStartPage) ? 1 : -1;
		nEndPage = (nEndPage == 0xffff) ? 0xffff : nEndPage + nStep;

		VERIFY(strTemp.LoadString(AFX_IDS_PRINTPAGENUM));

		// If it's a doc object, we don't loop page-by-page
		// because doc objects don't support that kind of levity.

		BOOL bError = FALSE;
		if (printInfo.m_bDocObject)
		{
			OnPrepareDC(&dcPrint, &printInfo);
			OnPrint(&dcPrint, &printInfo);
		}
		else
		{
			// begin page printing loop
			for (printInfo.m_nCurPage = nStartPage;
				printInfo.m_nCurPage != nEndPage; printInfo.m_nCurPage += nStep)
			{
				OnPrepareDC(&dcPrint, &printInfo);

				// check for end of print
				if (!printInfo.m_bContinuePrinting)
					break;

				// write current page
				TCHAR szBuf[80];
				wsprintf(szBuf, strTemp, printInfo.m_nCurPage);
				dlgPrintStatus.SetDlgItemText(AFX_IDC_PRINT_PAGENUM, szBuf);

				// set up drawing rect to entire page (in logical coordinates)
				printInfo.m_rectDraw.SetRect(0, 0,
					dcPrint.GetDeviceCaps(HORZRES),
					dcPrint.GetDeviceCaps(VERTRES));
				dcPrint.DPtoLP(&printInfo.m_rectDraw);

				// attempt to start the current page
				if (dcPrint.StartPage() < 0)
				{
					bError = TRUE;
					break;
				}

				// must call OnPrepareDC on newer versions of Windows because
				// StartPage now resets the device attributes.
				if (afxData.bMarked4)
					OnPrepareDC(&dcPrint, &printInfo);

				ASSERT(printInfo.m_bContinuePrinting);

				// page successfully started, so now render the page
				OnPrint(&dcPrint, &printInfo);
				if (dcPrint.EndPage() < 0 || !_AfxAbortProc(dcPrint.m_hDC, 0))
				{
					bError = TRUE;
					break;
				}
			}
		}

		// cleanup document printing process
		if (!printInfo.m_bDocObject)
		{
			if (!bError)
				dcPrint.EndDoc();
			else
				dcPrint.AbortDoc();
		}

		AfxGetMainWnd()->EnableWindow();    // enable main window

		OnEndPrinting(&dcPrint, &printInfo);    // clean up after printing
		dlgPrintStatus.DestroyWindow();

		dcPrint.Detach();   // will be cleaned up by CPrintInfo destructor
	}
}
	
}
*/






void CZhifangTuxing::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	CScrollView::OnBeginPrinting(pDC, pInfo);
}

void CZhifangTuxing::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	CScrollView::OnEndPrinting(pDC, pInfo);
}

void CZhifangTuxing::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	CScrollView::OnPrepareDC(pDC, pInfo);
	pDC->SetMapMode(MM_ANISOTROPIC);
	//轉換坐標映射方式
  
	CSize size = CSize(800, 580);
	pDC->SetWindowExt(size);
	//確定窗口大小
 
	//得到實際設備每邏輯英寸的像素數量
	int xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);
	int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
	//得到設備坐標和邏輯坐標的比例
 	long xExt = (long)size.cx * xLogPixPerInch/96 ;
    long yExt = (long)size.cy * yLogPixPerInch/96 ;

    pDC->SetViewportExt((int)xExt, (int)yExt);
	//確定視口大小

}

BOOL CZhifangTuxing::OnPreparePrinting(CPrintInfo* pInfo) 
{
	// TODO: call DoPreparePrinting to invoke the Print dialog box
	
//	return CScrollView::OnPreparePrinting(pInfo);
	BOOL b=CView::DoPreparePrinting(pInfo);
	return b;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女一区二区在线观看| 精品国产一区久久| 欧美综合久久久| 欧美日本一道本在线视频| 777xxx欧美| 久久久av毛片精品| 综合激情成人伊人| 日韩中文字幕一区二区三区| 国产在线视频一区二区| 色呦呦网站一区| 日韩三级.com| 亚洲视频免费观看| 日本不卡免费在线视频| 成人av免费在线观看| 欧美日韩一卡二卡| 欧美激情一区在线观看| 婷婷国产在线综合| 国产成人99久久亚洲综合精品| 91老司机福利 在线| 精品国产伦一区二区三区免费| 国产精品嫩草久久久久| 日韩av在线播放中文字幕| 国产99久久久精品| 日韩欧美在线综合网| 中文字幕在线不卡| 精彩视频一区二区三区| 在线观看精品一区| 久久久高清一区二区三区| 香蕉久久夜色精品国产使用方法| 国产一区二区在线观看免费| 欧美三片在线视频观看| 国产精品理伦片| 狠狠色2019综合网| 欧美精品乱人伦久久久久久| 中文字幕综合网| 国产一区二区三区最好精华液| 欧美日韩久久久| 亚洲男人的天堂在线观看| 国产精品性做久久久久久| 日韩午夜精品视频| 午夜视黄欧洲亚洲| 欧美三级视频在线观看| 日韩一区二区三区精品视频| 亚洲亚洲精品在线观看| av不卡一区二区三区| 欧美国产精品中文字幕| 精品一区二区三区免费毛片爱| 欧美色视频在线观看| 亚洲乱码国产乱码精品精98午夜| 粉嫩欧美一区二区三区高清影视| 精品粉嫩aⅴ一区二区三区四区| 亚洲一区二区三区四区在线免费观看| 福利一区在线观看| 久久久精品免费免费| 国产一区二区在线视频| 久久久久久9999| 黄色小说综合网站| 久久亚洲一级片| 国产在线精品不卡| 久久蜜桃av一区精品变态类天堂| 免费成人你懂的| 欧美成人vps| 狠狠色丁香婷婷综合| 久久久久99精品一区| 国产91丝袜在线播放0| 精品国产成人在线影院| 极品少妇xxxx偷拍精品少妇| 欧美tickling挠脚心丨vk| 国产一区二区三区免费看| 日韩一区和二区| 无码av免费一区二区三区试看| 69av一区二区三区| 精品一区二区三区影院在线午夜| 欧美日韩日日骚| 久久精品久久99精品久久| 精品国产一区二区三区不卡 | 91蝌蚪porny成人天涯| 日韩美女视频19| 欧洲av一区二区嗯嗯嗯啊| 五月天一区二区三区| 在线看国产日韩| 麻豆国产精品一区二区三区| 久久久亚洲高清| av不卡免费在线观看| 午夜精品视频一区| 久久久久久久综合色一本| 99这里只有久久精品视频| 亚洲无人区一区| 欧美精品一区二区三区很污很色的 | 久久99久久久久| 久久日韩精品一区二区五区| 国产suv精品一区二区883| 一区二区免费在线播放| 91麻豆精品国产91| 丁香桃色午夜亚洲一区二区三区| 亚洲人成7777| 精品免费99久久| 9191成人精品久久| 91国偷自产一区二区开放时间 | 欧美探花视频资源| 不卡电影免费在线播放一区| 男女男精品视频网| 亚洲bt欧美bt精品| 亚洲日本一区二区| 国产亚洲欧美激情| 精品国产百合女同互慰| 欧美福利视频一区| 欧美午夜精品久久久久久超碰| 91啪亚洲精品| 不卡高清视频专区| 成人国产视频在线观看| 国产乱码精品一区二区三区av| 蜜桃视频第一区免费观看| 亚洲国产日韩综合久久精品| 亚洲另类在线制服丝袜| 亚洲色图视频免费播放| 中文字幕乱码日本亚洲一区二区| 精品久久久久一区| 精品欧美一区二区三区精品久久| 91麻豆精品国产91久久久| 7777精品伊人久久久大香线蕉的| 欧美天堂一区二区三区| 欧美色视频在线| 欧美精品九九99久久| 欧美精三区欧美精三区| 欧美丰满嫩嫩电影| 欧美精品 日韩| 欧美一区二区三区爱爱| 日韩欧美激情在线| 久久久久亚洲综合| 国产欧美精品一区二区色综合| 欧美国产乱子伦| 中文字幕日本乱码精品影院| 成人免费在线观看入口| √…a在线天堂一区| 一区二区三区鲁丝不卡| 亚洲超丰满肉感bbw| 欧美a级一区二区| 麻豆91在线播放免费| 国模娜娜一区二区三区| 国产成人免费网站| 99精品一区二区| 欧美人牲a欧美精品| 精品欧美久久久| 一区二区中文视频| 亚洲成av人影院| 国内精品久久久久影院薰衣草| 国产麻豆欧美日韩一区| 91色视频在线| 日韩欧美专区在线| 国产精品毛片高清在线完整版 | 精品sm捆绑视频| 综合在线观看色| 视频一区欧美精品| 国产成人免费av在线| 在线观看视频一区二区欧美日韩| 91麻豆精品国产91久久久资源速度| 久久综合网色—综合色88| **性色生活片久久毛片| 日韩不卡免费视频| aa级大片欧美| 亚洲精品在线一区二区| 亚洲人吸女人奶水| 老司机免费视频一区二区| 99精品国产99久久久久久白柏| 欧美久久婷婷综合色| 国产精品免费免费| 日本一区中文字幕| 91最新地址在线播放| 精品精品国产高清a毛片牛牛| 亚洲天堂2016| 国产一区二区三区综合| 欧美在线观看一区| 国产日产亚洲精品系列| 午夜伊人狠狠久久| www.亚洲色图| 精品欧美黑人一区二区三区| 亚洲图片自拍偷拍| a美女胸又www黄视频久久| 欧美不卡在线视频| 亚洲成人动漫精品| 91免费版pro下载短视频| 久久亚洲综合色| 日韩电影在线一区二区三区| 91免费视频网址| 欧美经典一区二区| 狠狠狠色丁香婷婷综合激情| 欧美精品一卡二卡| 亚洲综合精品久久| 99re66热这里只有精品3直播| 久久久久97国产精华液好用吗| 亚洲图片欧美视频| 色综合 综合色| 亚洲另类色综合网站| av电影在线观看不卡| 日本一区二区三区免费乱视频| 男人操女人的视频在线观看欧美| 欧美老肥妇做.爰bbww视频| 夜夜爽夜夜爽精品视频| 91欧美一区二区|