WEB开发网
开发学院软件开发VC VC5打印字体的控制 阅读

VC5打印字体的控制

 2008-11-13 19:32:24 来源:WEB开发网   
核心提示:VC5.0 为Windows 的程序员提供了一个很好的C++ 开发环境,减少了很多编程负担,VC5打印字体的控制,但同时也为我们在程序中加入自己的思想增加了难度,本人在一软件开发中,然后计算出新的字体大小,为默认字体的一半,想控制文字打印时的字体,使字体大小缩小一倍

VC5.0 为Windows 的程序员提供了一个很好的C++ 开发环境,减少了很多编程负担,但同时也为我们在程序中加入自己的思想增加了难度。本人在一软件开发中,想控制文字打印时的字体,使字体大小缩小一倍,以节省打印纸。

经过一段时间的摸索,终于解决了这一问题,下面分几步向大家做一介绍。

---- 一、对VC5 自动生成的程序框架进行改进

---- 这里用VC5 自动创建一个例子程序Test,单文档界面,注意在最后一步修改view 的继承类为CEditView。

---- 在view 类中,VC5 已经自动创建了三个用于支持打印的函数:OnPreparePrinting,OnBeginPrinting,OnEndPrinting。为了实现我们的功能,需要再继承以下几个函数:OnPrepareDC,OnPrint。并将OnPrepareDC 和OnEndPrinting 改为如下实现:

// OnPrepareDC()
void CTestView::OnPrepareDC
(CDC* pDC, CPrintInfo* pInfo)
{
CView::OnPrepareDC(pDC, pInfo);
}
// OnEndPrinting()
void CTestView::OnEndPrinting
(CDC* pDC, CPrintInfo* pInfo)
{
CView::OnEndPrinting(pDC, pInfo);
}

---- 用CView 来替代原来的CEditView,用以避免CEidtView 对打印的控制。控制字体及输出的功能主要在OnBeginPrinting 和OnPrint 两个函数来实现。

---- 二、实现OnBeginPrinting 函数

---- 根据VC5 编程机制,在OnBeginPrinting 函数实现打印前的准备工作,包括设置打印字体,根据打印机当前页面尺寸计算所需页数等。下面的程序是对打印字体的重新设置和计算所需打印纸页数。

---- 程序中首先取得打印机的横向和纵向分辨率,再得到当前打印字体的大小,然后计算出新的字体大小,为默认字体的一半。读者可以根据需要设定自己的打印字体大小。

1 2 3 4  下一页

Tags:VC 打印 字体

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接