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

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

?? myview.cpp

?? 合同管理系統
?? CPP
字號:
// htglxtView.cpp : implementation of the CHtglxtView class
//

#include "stdafx.h"
#include "htglxt.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;
	}
	// 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;
		//打印頁數
	pInfo->SetMaxPage(m_ps.Grid->GetCols()*30/LogicSize.cx);

	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;
	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/2+1;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]);
		if(i+1<=m_ps.TotalNumber/2)
			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一区二区三区免费野_久草精品视频
8x8x8国产精品| 国产欧美精品在线观看| 国产精品一线二线三线| 国产蜜臀97一区二区三区| 久久久久青草大香线综合精品| 91精品国产综合久久国产大片| 欧美视频一区在线观看| 一本一道久久a久久精品综合蜜臀| 成人aa视频在线观看| 99久久综合精品| 色婷婷综合激情| 91精品国产色综合久久久蜜香臀| 日韩西西人体444www| 国产精品网站导航| 亚洲精品五月天| 首页国产欧美日韩丝袜| 国产精品资源在线观看| 91理论电影在线观看| 欧美日韩三级在线| 精品成人私密视频| 99r国产精品| av电影在线不卡| 91网站黄www| 美女看a上一区| 婷婷久久综合九色国产成人| 国产一区二区成人久久免费影院| 成年人网站91| 国产iv一区二区三区| 91.成人天堂一区| 亚洲欧洲精品天堂一级| 蜜乳av一区二区三区| 91色.com| 久久久夜色精品亚洲| 日韩精品一二区| 国产成人亚洲综合a∨婷婷| 欧美专区亚洲专区| 国产亚洲一区二区三区在线观看| 一级日本不卡的影视| 国产精品91xxx| 91精品免费观看| 国内精品自线一区二区三区视频| 国产欧美一区二区精品婷婷| 久久久久88色偷偷免费| 亚洲日本欧美天堂| 激情偷乱视频一区二区三区| 欧美专区日韩专区| 国产精品传媒视频| 国产美女精品一区二区三区| 欧美精品亚洲二区| 美女国产一区二区| 在线观看免费视频综合| 欧美高清视频不卡网| 不卡高清视频专区| 人人爽香蕉精品| 亚洲乱码日产精品bd| 97se亚洲国产综合自在线不卡| 午夜精品福利在线| 中文字幕日韩精品一区| 91精品国产综合久久久久久久久久 | 亚洲一卡二卡三卡四卡无卡久久| 欧美一级艳片视频免费观看| 国产精品美女久久久久久2018 | 一区视频在线播放| 国产高清不卡一区二区| 日韩欧美国产午夜精品| 蜜桃视频一区二区三区在线观看| 91视频一区二区三区| 久久久无码精品亚洲日韩按摩| 韩国精品在线观看| 91精品国产aⅴ一区二区| 亚洲高清久久久| 91黄视频在线| 国产精品久久久久久久裸模| 国产麻豆91精品| 久久综合色婷婷| 国产精品一级在线| 国产日产欧产精品推荐色 | 免费观看一级欧美片| 欧美亚洲一区二区在线观看| 亚洲女子a中天字幕| 91视频你懂的| 婷婷综合在线观看| 3d动漫精品啪啪| 国模套图日韩精品一区二区| 精品国产乱码久久久久久闺蜜| 蜜桃av噜噜一区| 久久久久久久久久久99999| 国产伦精品一区二区三区视频青涩| 精品乱码亚洲一区二区不卡| 精品一区二区三区蜜桃| 国产成人免费视频网站高清观看视频| 2023国产精华国产精品| 蜜臀av国产精品久久久久| 欧美一区二区精品在线| 国产露脸91国语对白| 亚洲女爱视频在线| 欧美日韩一区高清| 国产乱子伦一区二区三区国色天香| 欧美国产综合一区二区| 欧美专区日韩专区| 国产精品亚洲一区二区三区在线 | 色先锋久久av资源部| 亚洲第一综合色| 国产午夜精品一区二区| 欧美日韩久久久| 成人妖精视频yjsp地址| 视频一区免费在线观看| 欧美经典一区二区三区| 欧美日韩国产精品自在自线| 国产一区二区女| 一区二区三区毛片| 日韩欧美在线影院| 在线看日本不卡| 日韩精品视频网| 国产精品电影院| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美sm极限捆绑bd| 色94色欧美sute亚洲线路二| 午夜精品爽啪视频| 欧美激情一区二区三区| 91国产成人在线| 国产剧情在线观看一区二区| 午夜精品久久久久久久蜜桃app | 亚洲免费观看视频| 日韩一级二级三级精品视频| 欧美主播一区二区三区| 99视频国产精品| 国产精品亚洲午夜一区二区三区 | 中文字幕中文字幕一区二区| 欧美大肚乱孕交hd孕妇| 欧美日韩日本视频| 日本道色综合久久| 99九九99九九九视频精品| 成人免费在线播放视频| 国产精品18久久久久久久久久久久| 成人精品免费网站| 国产精品无码永久免费888| 日韩无一区二区| 国产美女视频91| 日本视频中文字幕一区二区三区 | 91亚洲精华国产精华精华液| 精品福利一区二区三区| 精品国产不卡一区二区三区| 久久综合久久综合久久综合| 久久精品一区二区三区av| 国产精品理论片| 亚洲国产综合91精品麻豆| 麻豆成人av在线| 成人免费视频视频| 欧美日韩高清在线播放| 精品国产乱码久久久久久闺蜜 | 欧美性猛交xxxx乱大交退制版| 欧美日韩一级视频| 久久久久久久久久久电影| 亚洲精选视频在线| 精品无人码麻豆乱码1区2区| 国产久卡久卡久卡久卡视频精品| 一本到不卡精品视频在线观看 | 99国产精品国产精品久久| 欧美午夜一区二区| 久久精品视频一区| 亚洲国产日韩a在线播放| 国产黄人亚洲片| 欧美精品久久99| 中文字幕亚洲综合久久菠萝蜜| 亚洲18女电影在线观看| 精品国产污污免费网站入口 | 亚洲国产精品人人做人人爽| 精品一区二区三区视频| 99麻豆久久久国产精品免费优播| 日韩欧美一区二区久久婷婷| 亚洲欧洲综合另类| 国产91丝袜在线18| 欧美高清一级片在线| 亚洲欧洲精品成人久久奇米网| 久久精品国产精品亚洲综合| 一本色道a无线码一区v| 久久精品无码一区二区三区| 免费人成黄页网站在线一区二区| 99riav久久精品riav| 久久久无码精品亚洲日韩按摩| 奇米影视一区二区三区小说| 一本久久精品一区二区| 国产精品丝袜在线| 国产麻豆日韩欧美久久| 欧美大片顶级少妇| 免费在线一区观看| 欧美亚洲国产一区二区三区va| 国产精品天干天干在线综合| 毛片不卡一区二区| 欧美日韩aaaaaa| 亚洲福利视频一区| 欧美午夜视频网站| 亚洲精品亚洲人成人网| 色综合夜色一区| 亚洲欧美在线视频观看| 国产99久久久久| 国产精品午夜在线| 成人精品一区二区三区中文字幕 | 欧美一级片免费看|