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

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

?? myview.cpp

?? 汽配管理系統源程序,可以了解組合框及表格打印等應用,適合初學者。
?? CPP
字號:
// htglxtView.cpp : implementation of the CHtglxtView class
//

#include "stdafx.h"
#include "qpglxt.h"

#include "MyDoc.h"
#include "MyView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView

IMPLEMENT_DYNCREATE(CMyView, CScrollView)

BEGIN_MESSAGE_MAP(CMyView, CScrollView)
	//{{AFX_MSG_MAP(CHtglxtView)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView construction/destruction
CMyView::CMyView()
{
	// TODO: add construction code here
	m_pos.cx=0;
	m_pos.cy=0;
	PageRow[1]=0;

}	

CMyView::~CMyView()
{
	Deffont.DeleteObject();
}

BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView drawing

void CMyView::OnDraw(CDC* pDC)
{
	CMyDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	//畫主標題
	PrintMainCaption(pDC,false);
	//畫副標題
	PrintDeckCaption(pDC,false);
	//畫表頭
	LVCOLUMN col;
	CString stext;
	int wid,xpos,ypos;
	xpos=30;
	ypos=m_pos.cy;
	pDC->Rectangle(30,ypos,LogicSize.cx-30,ypos+1);
	ypos=ypos+10;
	for(int i=0;i<m_ps.Grid->GetCols();i++)
	{
		col.mask=LVCF_TEXT;
		col.pszText=stext.GetBuffer(stext.GetLength());
		col.cchTextMax=255;
		m_ps.Grid->GetColumn(i,&col);
		wid=m_ps.Grid->GetColumnWidth(i);
		pDC->TextOut(xpos,ypos,col.pszText);
		xpos=xpos+wid;
	}
	ypos=ypos+ 20;//m_pos向下移動一個字的寬度
	pDC->Rectangle(30,ypos,LogicSize.cx-30,ypos+1);
	//畫表格內容
	ypos=ypos+10;
	xpos=30;
	for(int r=0;r<m_ps.Grid->GetRows();r++)
	{
		for(int c=0;c<m_ps.Grid->GetCols();c++)
		{
			stext=m_ps.Grid->GetItemText(r,c);
			wid=m_ps.Grid->GetColumnWidth(c);
			pDC->TextOut(xpos,ypos,stext);
			xpos=xpos+wid;
		}
		xpos=30;
		ypos=ypos+20;
		m_pos.cx=30;
		m_pos.cy=ypos;
	}
	//打印合計信息
	pDC->Rectangle(30,ypos,LogicSize.cx-30,ypos+1);
	PrintTotal(pDC, false);
	// TODO: add draw code for native data here
}

void CMyView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();
	CSize sizeTotal;
	// TODO: calculate the total size of this view
	CDC* pDC;
	pDC=this->GetDC();
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	sizeTotal.cx=100;
	GridWidth=0;
	for(int i=0;i<m_ps.Grid->GetCols();i++)
	{
		GridWidth=GridWidth+m_ps.Grid->GetColumnWidth(i);	
	}
	sizeTotal.cy=m_ps.Grid->GetRows()*24+200;
	sizeTotal.cx=GridWidth;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView printing

BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
	//寬度比率
	m_Info=pInfo;
	return DoPreparePrinting(pInfo);
}

void CMyView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
	LPDEVMODE mode;
	mode=pInfo->m_pPD->GetDevMode();
	//打印紙大小
	PageSize.cx=mode->dmPaperLength;
	PageSize.cy=mode->dmPaperWidth;
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	//比率
	Ratio.x=(float)LogicSize.cx/(float)PageSize.cx;
	Ratio.y=(float)LogicSize.cy/(float)PageSize.cy;
	//打印頁數
	pInfo->SetMaxPage(GridWidth*20*Ratio.x/LogicSize.cx-1);
	Deffont.CreatePointFont(280*Ratio.x,"宋體",NULL);
}

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

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CHtglxtView message handlers

void CMyView::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	//寬度比率
	WidthRatio=LogicSize.cx/GridWidth;
	//畫邊框
	pDC->Rectangle(10*Ratio.x,10*Ratio.y,LogicSize.cx-(10*Ratio.x),LogicSize.cy-(10*Ratio.y));
	if(pInfo->m_nCurPage==1)
	{
		//畫主標題
		PrintMainCaption(pDC);
		//畫副標題
		PrintDeckCaption(pDC);
		//畫表頭
		PrintGridHead(pDC);
		//畫表格
		PrintGridCell(pDC,pInfo);
	}
	else
	{	
		//畫表頭
		PrintGridHead(pDC);
		PrintGridCell(pDC,pInfo);
	}
	PrintPage(pDC,pInfo);
	//CScrollView::OnPrint(pDC, pInfo);
}
void CMyView::PrintMainCaption(CDC *pDC,bool bRatio)
{	
	//是否自動根據分辨率調整位置
	RatioStruct rRatio;
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	CFont Mainfont;
	Mainfont.CreatePointFont(m_ps.MainCaptionFontSize*rRatio.y,"黑體",NULL);
	pDC->SelectObject(&Mainfont);
	CRect rect(10*rRatio.x,10*rRatio.y,LogicSize.cx-(10*rRatio.x),m_ps.MainCaptionFontSize/4*rRatio.y+(10*rRatio.y));
	pDC->DrawText(m_ps.MainCaption,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
	m_pos.cy=m_ps.MainCaptionFontSize/4*rRatio.y+(10*rRatio.y);
	Mainfont.DeleteObject();
}

void CMyView::PrintDeckCaption(CDC* pDC,bool bRatio)
{
	//是否自動根據分辨率調整位置
	RatioStruct rRatio;
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	CFont Deckfont;
	Deckfont.CreatePointFont(m_ps.DeckCaptionFontSize*rRatio.y,"宋體",NULL);
	pDC->SelectObject(&Deckfont);

	CRect rect;
	for(int i=0;i<m_ps.DeckCaptionNumber;i++)
	{
		m_pos.cy=m_pos.cy+(m_ps.DeckCaptionFontSize/5)*rRatio.y;
		pDC->TextOut(50*rRatio.x,m_pos.cy,m_ps.DeckCaptions[i]);
	}
	m_pos.cy=m_pos.cy+(m_ps.DeckCaptionFontSize/5)*rRatio.y;
	Deckfont.DeleteObject();
}

void CMyView::PrintGridHead(CDC *pDC,bool bRatio)
{
	//是否自動根據分辨率調整位置
	RatioStruct rRatio;
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;
	pDC->SelectObject(&Deffont);
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);

	//畫線
	pDC->Rectangle(50*rRatio.x,m_pos.cy,LogicSize.cx-(50*rRatio.x),m_pos.cy+2*rRatio.y);
	//畫表頭
	LVCOLUMN col;
	CString stext;
	m_pos.cx=50*rRatio.x;
	int wid;
	m_pos.cy=m_pos.cy+10*rRatio.y;
	for(int i=0;i<m_ps.Grid->GetCols();i++)
	{
		col.mask=LVCF_TEXT;
		col.pszText=stext.GetBuffer(stext.GetLength());
		col.cchTextMax=255;
		m_ps.Grid->GetColumn(i,&col);
		wid=m_ps.Grid->GetColumnWidth(i)*WidthRatio;
		pDC->TextOut(m_pos.cx,m_pos.cy,col.pszText);
		m_pos.cx=m_pos.cx+wid;
	}
	m_pos.cy=m_pos.cy+38*rRatio.y;//m_pos向下移動一個字的寬度
	//畫線
	pDC->Rectangle(50*rRatio.x,m_pos.cy,LogicSize.cx-(50*rRatio.x),m_pos.cy+2*rRatio.y);
	m_pos.cy=m_pos.cy+ 10*rRatio.y;////m_pos向下移動一條線的寬度
	Deffont.DeleteObject();
}	


void CMyView::PrintGridCell(CDC *pDC,CPrintInfo* pInfo,bool bRatio)
{
	//是否自動根據分辨率調整位置
	RatioStruct rRatio; 
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;	
	pDC->SelectObject(&Deffont);
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	//畫表格	
	m_pos.cx=50*rRatio.x;
	int wid;
	CString stext;
	
	if(pInfo->m_nCurPage!=1)
	{
			m_pos.cx=50*rRatio.x;
			m_pos.cy=100*rRatio.y;
	}
	for(int r=PageRow[pInfo->m_nCurPage];r<m_ps.Grid->GetRows();r++)
	{
		for(int c=0;c<m_ps.Grid->GetCols();c++)
		{
			stext=m_ps.Grid->GetItemText(r,c);
			wid=m_ps.Grid->GetColumnWidth(c)*WidthRatio;
			pDC->TextOut(m_pos.cx,m_pos.cy,stext);
			m_pos.cx=m_pos.cx+wid;
		}
		m_pos.cx=50*rRatio.x;
		m_pos.cy=m_pos.cy+40*rRatio.y;//m_pos向下移動一個字的寬度
		if(m_pos.cy+(100*rRatio.y)>LogicSize.cy)
		{
			pDC->Rectangle(50*rRatio.x,m_pos.cy,LogicSize.cx-(50*rRatio.x),m_pos.cy+2*rRatio.y);
			PageRow[pInfo->m_nCurPage+1]=r+1;
			m_pos.cx=50*rRatio.x;
			m_pos.cy=40*rRatio.y;
			break;
		}
	}
	if(r==m_ps.Grid->GetRows())
	{	//畫線
		pDC->Rectangle(	m_pos.cx,m_pos.cy,LogicSize.cx-(50*rRatio.x),m_pos.cy+2*rRatio.y);
		//畫合計信息
		PrintTotal(pDC,bRatio);
	}
	m_pos.cx=50*rRatio.x;
	m_pos.cy=40*rRatio.y;
	Deffont.DeleteObject();
}

void CMyView::PrintPage(CDC *pDC,CPrintInfo* pInfo,bool bRatio)
{
	pDC->SelectObject(&Deffont);
	//是否自動根據分辨率調整位置
	RatioStruct rRatio; 
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;
		//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	CString stext;
	stext.Format("第%d頁",pInfo->m_nCurPage);
	CRect rect(0,LogicSize.cy-(100*rRatio.x),LogicSize.cx,LogicSize.cy);
	pDC->DrawText(stext,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
	Deffont.DeleteObject();
}

void CMyView::PrintTotal(CDC *pDC, bool bRatio)
{
	//是否自動根據分辨率調整位置
	RatioStruct rRatio;
	rRatio.x=0.5;
	rRatio.y=0.5;
	if(bRatio==true)
		rRatio=Ratio;
	//邏輯設備大小
	LogicSize.cx=pDC->GetDeviceCaps(HORZRES);
	LogicSize.cy=pDC->GetDeviceCaps(VERTRES);
	CFont Deckfont;
	Deckfont.CreatePointFont(m_ps.DeckCaptionFontSize*rRatio.y,"宋體",NULL);
	pDC->SelectObject(&Deckfont);

	CRect rect;

	if(m_ps.TotalNumber%2!=0)
		m_ps.TotalNumber=m_ps.TotalNumber+1;
	for(int i=0;i<m_ps.TotalNumber;i=i+2)
	{
		m_pos.cy=m_pos.cy+(m_ps.DeckCaptionFontSize/5)*rRatio.y;
		pDC->TextOut(50*rRatio.x,m_pos.cy,m_ps.Totals[i]);
		pDC->TextOut(LogicSize.cx/2,m_pos.cy,m_ps.Totals[i+1]);
	}
	m_pos.cy=m_pos.cy+(m_ps.DeckCaptionFontSize/5)*rRatio.y;
	Deckfont.DeleteObject();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91浏览器入口在线观看| 色偷偷久久人人79超碰人人澡| 久久综合九色综合97_久久久| 风间由美一区二区三区在线观看 | 欧美一区永久视频免费观看| 欧美一级片在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品超碰97尤物18| 日本欧美一区二区三区| av欧美精品.com| 久久综合久久综合九色| 午夜不卡av在线| 91免费版在线看| 欧美激情一区二区在线| 久久66热偷产精品| 91精品国产综合久久久久久漫画| 亚洲日本丝袜连裤袜办公室| 成人免费不卡视频| 国产亚洲一区二区三区在线观看| 日日嗨av一区二区三区四区| 欧洲精品中文字幕| 日韩毛片视频在线看| 成人av中文字幕| 久久久av毛片精品| 久久精品久久久精品美女| 欧美喷潮久久久xxxxx| 一个色综合av| 一本久久精品一区二区| 日韩一区和二区| 亚洲欧洲性图库| 日本欧洲一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 成人高清伦理免费影院在线观看| 日本道在线观看一区二区| 一本色道a无线码一区v| 亚洲视频在线一区| 成人av集中营| 国产日产欧美一区二区视频| 国产自产2019最新不卡| 久久午夜电影网| 午夜精品久久久久久久99樱桃| 亚洲在线观看免费| 亚洲大型综合色站| 久久99精品久久只有精品| 婷婷综合在线观看| 美腿丝袜亚洲色图| 99re这里只有精品视频首页| 777xxx欧美| 亚洲成人手机在线| 久久福利视频一区二区| 精品sm捆绑视频| 国产91色综合久久免费分享| 国产精品国产自产拍高清av | 国产美女一区二区| 精品88久久久久88久久久 | 午夜不卡av在线| 精品电影一区二区| 成人av网址在线观看| 亚洲精品综合在线| 欧美老肥妇做.爰bbww视频| 激情偷乱视频一区二区三区| 亚洲国产电影在线观看| 在线精品观看国产| 久久99精品视频| 亚洲色图都市小说| 日韩一二三区不卡| 国产91高潮流白浆在线麻豆| 亚洲免费观看高清完整版在线观看熊| 欧美日韩一区二区三区在线 | 国产日韩欧美综合一区| 91影院在线观看| 亚洲国产美女搞黄色| 精品国精品国产尤物美女| 亚洲图片一区二区| ww亚洲ww在线观看国产| 美女mm1313爽爽久久久蜜臀| 91香蕉视频mp4| 日韩欧美一区二区久久婷婷| 天天av天天翘天天综合网色鬼国产 | 丁香亚洲综合激情啪啪综合| 亚洲免费观看高清完整版在线观看熊 | 国产成人精品免费网站| 亚洲国产欧美一区二区三区丁香婷| 欧美老女人第四色| 国产一区二区不卡在线| 久久久久久99久久久精品网站| 成人国产电影网| 中文字幕免费观看一区| av不卡一区二区三区| 亚洲一区二区视频| 欧美一二三区在线| 精品在线观看视频| 久久精品一区二区三区四区| av在线一区二区| 国产成人精品一区二| 免费观看一级欧美片| 亚洲亚洲精品在线观看| 亚洲欧美怡红院| 久久久久久久久久久久久女国产乱 | 最新国产精品久久精品| 久久久噜噜噜久久人人看| 欧美三级蜜桃2在线观看| 成人av综合一区| 懂色av一区二区在线播放| 久久97超碰色| 精品亚洲成a人| 美女网站一区二区| 麻豆专区一区二区三区四区五区| 亚洲午夜电影在线| 亚洲精品中文在线| 亚洲欧美综合色| 国产精品动漫网站| 国产精品电影一区二区| 国产精品不卡在线| 亚洲三级免费电影| 亚洲欧美区自拍先锋| 亚洲天堂福利av| 一区二区三区欧美久久| 亚洲精品综合在线| 午夜精品福利一区二区蜜股av| 亚洲va欧美va人人爽| 日本美女一区二区三区视频| 91在线精品一区二区| 国产精品夜夜爽| 丁香婷婷综合网| 精品国产免费一区二区三区四区 | 精品一区免费av| 精品无人区卡一卡二卡三乱码免费卡 | 国产精品乱人伦| 欧美一级午夜免费电影| 韩国成人福利片在线播放| 亚洲精品国产一区二区三区四区在线 | 久久婷婷一区二区三区| 蜜臀精品久久久久久蜜臀 | 久久精品人人做人人综合| 丝袜亚洲另类欧美| 91久久久免费一区二区| 中文字幕+乱码+中文字幕一区| 国产精品一区久久久久| 精品播放一区二区| 成人爽a毛片一区二区免费| 精品国产一区二区三区久久久蜜月 | 国产精品久久久久久户外露出 | 久久精品一区二区三区av| 麻豆成人久久精品二区三区小说| 91精品国产综合久久精品麻豆 | 久久亚洲一级片| 国内外成人在线| 国产精品国产自产拍高清av王其| 色综合天天综合给合国产| 婷婷中文字幕综合| 精品99999| 在线观看免费亚洲| 精彩视频一区二区| 一区二区视频免费在线观看| 欧美性大战久久| 国产美女精品人人做人人爽| 亚洲色图欧洲色图婷婷| 欧美电影免费观看完整版 | 在线视频中文字幕一区二区| 青青草伊人久久| 1024成人网色www| 久久日韩粉嫩一区二区三区| 91网站视频在线观看| 国产自产视频一区二区三区 | 国产大陆a不卡| 亚洲成人一区在线| 国产精品久久久久久亚洲伦| 日韩欧美一区二区视频| 在线观看一区不卡| 91热门视频在线观看| 国产精品羞羞答答xxdd| 韩国女主播一区| 美女视频黄 久久| 午夜天堂影视香蕉久久| 亚洲人成在线播放网站岛国| 亚洲国产精品精华液2区45| 日韩欧美在线网站| 日韩视频中午一区| 日韩欧美一区二区视频| 欧美日韩视频专区在线播放| 91激情在线视频| 欧美在线视频你懂得| 在线精品国精品国产尤物884a| 成人免费三级在线| www.欧美精品一二区| 高清国产一区二区三区| 国产99久久久国产精品潘金网站| 国产在线播放一区二区三区| 国产91精品欧美| 欧美日韩在线播放三区| 欧美吻胸吃奶大尺度电影| 精品视频1区2区3区| 欧美高清视频www夜色资源网| 欧美一级二级三级蜜桃| 久久久蜜臀国产一区二区| 欧美激情一区二区三区全黄| 亚洲天堂成人在线观看| 天堂久久一区二区三区| 国内不卡的二区三区中文字幕 |