印个照片打印软件再上个框大概要多久

如图是一段火车路线图,图中字母所示的6个点表示6个车站.图中有几条线段?在这段路线上往返行车,需要印制几种车票(每种车票都要印出上车站和下车站)?【考点】.【分析】根据线段的定义找出线段的条数,再根据车票的起始站的不同,乘以2即可得到车票的种数.【解答】解:图中线段有:AE、AC、AD、AF、AB,EC、ED、EF、EB,CD、CF、CB,DF、DB,FB,共5+4+3+2+1=15条,∵每条线段应印2种车票,∴共需印15×2=30种车票.【点评】本题考查了线段条数的计算,应按照一定的顺序,才能做到不遗漏,不重复,还需注意每条线段应印2种车票.声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。答题:星期八老师 难度:0.67真题:2组卷:5
解析质量好中差清康熙35年(1696) 内府多色套印本 《御制耕织图》册页线装 依内府刊本 初版初刻版式:彩色织锦封面,四周单边。每页高34.3厘米,宽26.8厘米;图框高24.1厘米,宽24.1厘米。首页题名“御制耕织全图”,朱印“御制耕织图序”,序尾钤盖“康熙宸翰”、“稽古右文之章”等印玺,计有篇目,且每图康熙题咏前有“渊鉴斋”、后有“康熙宸翰”、“保令太和”印。其开本宽阔、纸质厚重,线条流畅、色彩鲜明,人物形像饱满逼真、面部表情柔和生动,可谓诗、书、画、刻“四美具”,是中国古代版画史上的一部传世经典,具有较高的艺术鉴赏和收藏价值。提要:《御制耕织图》又称《佩文斋耕织图》,初印于康熙35年(1696),清圣祖玄烨题诗,钦天监五官正焦秉贞绘图,鸿臚寺序班朱圭镌刻,图绘农村耕作、蚕织绩纺场景,计四十六幅,耕织各半,耕图有浸种、布谷、插秧、收割、登场、入仓等;织图有浴蚕、上簇、下簇、窖兰、练丝、染色等,为彰显劝课农桑之宏旨而作,图诗形象生动、细腻传神,是清代宫殿版画的代表作,反映了当时绘画技艺水平的进步,也生动再现了其时平民社会的生活场景。此后翻刻甚多,木刻本、钢刻本、绘本、墨本、石印本均行于世,日本、朝鲜、琉球等国亦有其摹本、翻刻本,版式亦不尽相同,诸如上文下图本、左图右文本、袖珍刻本等等,然彩色套印本却是鲜见。此本依内府刊本,较初版初刻,天头题诗处列有不同之处,颇为用心,极为珍罕。说明:《耕织图》的绘写渊源颇远,原作当在南宋绍兴年间,其绘者为楼璹,含耕图21 幅、织图24幅。清康熙28年(1689),康熙帝南巡时,江南士子进献藏书甚丰,其中即有“宋公重加考订,诸梓以传”的《耕织图》。康熙帝即命宫廷画师焦秉贞据原意另绘耕图、织图各23幅,绘画内容略有增减(如增加《初秧》《祭神》《染色》《成衣》等),图序亦有变换(改“络丝、经、纬、织”为“纬、织、络丝、经”)。宋、清《耕织图》的布景与人物活动大同小异,但焦图画中的风俗易为清代,所绘更为工细纤丽,在技法上还参用了西洋焦点透视法,展示了当时高超的绘画水平,堪称清代殿版画的代表作。备注:初步统计耕织图在世界各地藏品,计有北京故宫博物馆藏“清内府刊本”、北京历史博物馆藏“元代安徽休宁人程棨据楼氏家族所藏副本临摹本”、黑龙江历史博物馆藏“南宋皇后题注本《蚕织图》”、台北故宫博物院藏“乾隆朝冷枚(焦秉贞弟子)着彩摹绘本”等,现知国家图书馆与华东师范大学图书馆各藏一部墨印彩绘本,此本与此相近,其价值不言而喻。--2013秋季拍卖会-华侨公寓旧藏 退一斋藏书 纸杂文献-上海泓盛拍卖
<meta content="上海拍卖,上海拍卖公司,清康熙35年(1696) 内府多色套印本 《御制耕织图》册页线装 依内府刊本 初版初刻版式:彩色织锦封面,四周单边。每页高34.3厘米,宽26.8厘米;图框高24.1厘米,宽24.1厘米。首页题名“御制耕织全图”,朱印“御制耕织图序”,序尾钤盖“康熙宸翰”、“稽古右文之章”等印玺,计有篇目,且每图康熙题咏前有“渊鉴斋”、后有“康熙宸翰”、“保令太和”印。其开本宽阔、纸质厚重,线条流畅、色彩鲜明,人物形像饱满逼真、面部表情柔和生动,可谓诗、书、画、刻“四美具”,是中国古代版画史上的一部传世经典,具有较高的艺术鉴赏和收藏价值。提要:《御制耕织图》又称《佩文斋耕织图》,初印于康熙35年(1696),清圣祖玄烨题诗,钦天监五官正焦秉贞绘图,鸿臚寺序班朱圭镌刻,图绘农村耕作、蚕织绩纺场景,计四十六幅,耕织各半,耕图有浸种、布谷、插秧、收割、登场、入仓等;织图有浴蚕、上簇、下簇、窖兰、练丝、染色等,为彰显劝课农桑之宏旨而作,图诗形象生动、细腻传神,是清代宫殿版画的代表作,反映了当时绘画技艺水平的进步,也生动再现了其时平民社会的生活场景。此后翻刻甚多,木刻本、钢刻本、绘本、墨本、石印本均行于世,日本、朝鲜、琉球等国亦有其摹本、翻刻本,版式亦不尽相同,诸如上文下图本、左图右文本、袖珍刻本等等,然彩色套印本却是鲜见。此本依内府刊本,较初版初刻,天头题诗处列有不同之处,颇为用心,极为珍罕。说明:《耕织图》的绘写渊源颇远,原作当在南宋绍兴年间,其绘者为楼璹,含耕图21 幅、织图24幅。清康熙28年(1689),康熙帝南巡时,江南士子进献藏书甚丰,其中即有“宋公重加考订,诸梓以传”的《耕织图》。康熙帝即命宫廷画师焦秉贞据原意另绘耕图、织图各23幅,绘画内容略有增减(如增加《初秧》《祭神》《染色》《成衣》等),图序亦有变换(改“络丝、经、纬、织”为“纬、织、络丝、经”)。宋、清《耕织图》的布景与人物活动大同小异,但焦图画中的风俗易为清代,所绘更为工细纤丽,在技法上还参用了西洋焦点透视法,展示了当时高超的绘画水平,堪称清代殿版画的代表作。备注:初步统计耕织图在世界各地藏品,计有北京故宫博物馆藏“清内府刊本”、北京历史博物馆藏“元代安徽休宁人程棨据楼氏家族所藏副本临摹本”、黑龙江历史博物馆藏“南宋皇后题注本《蚕织图》”、台北故宫博物院藏“乾隆朝冷枚(焦秉贞弟子)着彩摹绘本”等,现知国家图书馆与华东师范大学图书馆各藏一部墨印彩绘本,此本与此相近,其价值不言而喻。,清康熙35年(1696) 内府多色套印本 《御制耕织图》册页线装 依内府刊本 初版初刻版式:彩色织锦封面,四周单边。每页高34.3厘米,宽26.8厘米;图框高24.1厘米,宽24.1厘米。首页题名“御制耕织全图”,朱印“御制耕织图序”,序尾钤盖“康熙宸翰”、“稽古右文之章”等印玺,计有篇目,且每图康熙题咏前有“渊鉴斋”、后有“康熙宸翰”、“保令太和”印。其开本宽阔、纸质厚重,线条流畅、色彩鲜明,人物形像饱满逼真、面部表情柔和生动,可谓诗、书、画、刻“四美具”,是中国古代版画史上的一部传世经典,具有较高的艺术鉴赏和收藏价值。提要:《御制耕织图》又称《佩文斋耕织图》,初印于康熙35年(1696),清圣祖玄烨题诗,钦天监五官正焦秉贞绘图,鸿臚寺序班朱圭镌刻,图绘农村耕作、蚕织绩纺场景,计四十六幅,耕织各半,耕图有浸种、布谷、插秧、收割、登场、入仓等;织图有浴蚕、上簇、下簇、窖兰、练丝、染色等,为彰显劝课农桑之宏旨而作,图诗形象生动、细腻传神,是清代宫殿版画的代表作,反映了当时绘画技艺水平的进步,也生动再现了其时平民社会的生活场景。此后翻刻甚多,木刻本、钢刻本、绘本、墨本、石印本均行于世,日本、朝鲜、琉球等国亦有其摹本、翻刻本,版式亦不尽相同,诸如上文下图本、左图右文本、袖珍刻本等等,然彩色套印本却是鲜见。此本依内府刊本,较初版初刻,天头题诗处列有不同之处,颇为用心,极为珍罕。说明:《耕织图》的绘写渊源颇远,原作当在南宋绍兴年间,其绘者为楼璹,含耕图21 幅、织图24幅。清康熙28年(1689),康熙帝南巡时,江南士子进献藏书甚丰,其中即有“宋公重加考订,诸梓以传”的《耕织图》。康熙帝即命宫廷画师焦秉贞据原意另绘耕图、织图各23幅,绘画内容略有增减(如增加《初秧》《祭神》《染色》《成衣》等),图序亦有变换(改“络丝、经、纬、织”为“纬、织、络丝、经”)。宋、清《耕织图》的布景与人物活动大同小异,但焦图画中的风俗易为清代,所绘更为工细纤丽,在技法上还参用了西洋焦点透视法,展示了当时高超的绘画水平,堪称清代殿版画的代表作。备注:初步统计耕织图在世界各地藏品,计有北京故宫博物馆藏“清内府刊本”、北京历史博物馆藏“元代安徽休宁人程棨据楼氏家族所藏副本临摹本”、黑龙江历史博物馆藏“南宋皇后题注本《蚕织图》”、台北故宫博物院藏“乾隆朝冷枚(焦秉贞弟子)着彩摹绘本”等,现知国家图书馆与华东师范大学图书馆各藏一部墨印彩绘本,此本与此相近,其价值不言而喻。拍卖,,作品,华侨公寓旧藏 退一斋藏书 纸杂文献,华侨公寓旧藏 退一斋藏书 纸杂文献拍卖,上海拍卖,2013秋季拍卖会" name="Keywords">
<meta content="清康熙35年(1696) 内府多色套印本 《御制耕织图》册页线装 依内府刊本 初版初刻版式:彩色织锦封面,四周单边。每页高34.3厘米,宽26.8厘米;图框高24.1厘米,宽24.1厘米。首页题名“御制耕织全图”,朱印“御制耕织图序”,序尾钤盖“康熙宸翰”、“稽古右文之章”等印玺,计有篇目,且每图康熙题咏前有“渊鉴斋”、后有“康熙宸翰”、“保令太和”印。其开本宽阔、纸质厚重,线条流畅、色彩鲜明,人物形像饱满逼真、面部表情柔和生动,可谓诗、书、画、刻“四美具”,是中国古代版画史上的一部传世经典,具有较高的艺术鉴赏和收藏价值。提要:《御制耕织图》又称《佩文斋耕织图》,初印于康熙35年(1696),清圣祖玄烨题诗,钦天监五官正焦秉贞绘图,鸿臚寺序班朱圭镌刻,图绘农村耕作、蚕织绩纺场景,计四十六幅,耕织各半,耕图有浸种、布谷、插秧、收割、登场、入仓等;织图有浴蚕、上簇、下簇、窖兰、练丝、染色等,为彰显劝课农桑之宏旨而作,图诗形象生动、细腻传神,是清代宫殿版画的代表作,反映了当时绘画技艺水平的进步,也生动再现了其时平民社会的生活场景。此后翻刻甚多,木刻本、钢刻本、绘本、墨本、石印本均行于世,日本、朝鲜、琉球等国亦有其摹本、翻刻本,版式亦不尽相同,诸如上文下图本、左图右文本、袖珍刻本等等,然彩色套印本却是鲜见。此本依内府刊本,较初版初刻,天头题诗处列有不同之处,颇为用心,极为珍罕。说明:《耕织图》的绘写渊源颇远,原作当在南宋绍兴年间,其绘者为楼璹,含耕图21 幅、织图24幅。清康熙28年(1689),康熙帝南巡时,江南士子进献藏书甚丰,其中即有“宋公重加考订,诸梓以传”的《耕织图》。康熙帝即命宫廷画师焦秉贞据原意另绘耕图、织图各23幅,绘画内容略有增减(如增加《初秧》《祭神》《染色》《成衣》等),图序亦有变换(改“络丝、经、纬、织”为“纬、织、络丝、经”)。宋、清《耕织图》的布景与人物活动大同小异,但焦图画中的风俗易为清代,所绘更为工细纤丽,在技法上还参用了西洋焦点透视法,展示了当时高超的绘画水平,堪称清代殿版画的代表作。备注:初步统计耕织图在世界各地藏品,计有北京故宫博物馆藏“清内府刊本”、北京历史博物馆藏“元代安徽休宁人程棨据楼氏家族所藏副本临摹本”、黑龙江历史博物馆藏“南宋皇后题注本《蚕织图》”、台北故宫博物院藏“乾隆朝冷枚(焦秉贞弟子)着彩摹绘本”等,现知国家图书馆与华东师范大学图书馆各藏一部墨印彩绘本,此本与此相近,其价值不言而喻。" name="Description">
每周五(节假日除外)下午1:00至5:00接待上门送件客户,敬请知晓。当前位置:
使用 MFC 编写打印程序
使用 MFC 编写打印程序
发布日期: 23:20
浏览次数:23005次
标  签:MFC
文章评分:5.0
操  作:
称号:未设置简介:...
文章概要:
本文首先介绍了利用MFC提供的文档视图框架来实现一个打印程序,实现打印预览,在此基础上,同时通过对MFC源代码的深入探讨,提出了利用该方法在对话框上用MFC实现打印功能,结果表明,利用MFC实现打印不仅方便,而且功能很强大,能够根据不同的需求很方便的打印出所需要的格式。本文还实现了一个在对话框中利用MFC实现打印功能的一个框架结构,对于使用者只要使用该结构就可以按照自己的要求打印任何内容。
打印程序的编写在windows程序设计中非常有用,针对不同的用户需要,通常用sdk方式实现打印代码量比较大,而且要对打印流程的底层有非常清楚的了解,需要一个程序员有非常深入的打印方面的知识,利用MFC提供的文档视图结构,不但可以实现一些常用的标准界面元素,把数据的处理的界面的处理分离出来,而且其提供的打印功能更是方便快捷,功能强大。打印程序的编写本质是是一种GDI绘图,只是绘图的对象是在打印机的设备描述表,如果对于屏幕的GDI绘图比较熟悉的读者,相信掌握打印程序的编写应该比较容易。
1、文档视图结构的程序的打印程序的编写
通常情况下,一个结构组织的比较好的MFC程序是基于文档视图结构的,这一框架结构给我们提供了很多功能,比如菜单,注册表的关联,文件类型的注册,打印功能,只要我们善于发掘,这些都可以为我们所用,但我们现在只关心如何使用MFC提供的结构来实现打印功能。
在编写打印程序之前,有必要先介绍一下MFC的框架结构,其中的文档视图结构又是这个框架的重点,我们通过分析MFC实现的视图类的原代码就可以看到一个打印程序的执行流程。读者也可以看侯俊杰的《深入浅出MFC》,上面有关于MFC打印的详细流程解释,下面是MFC的打印的函数的实现,该函数名为OnFilePrint它不是一个虚函数,而是响应缺省的COMMAND消息的处理函数,因为MFC提供了向导生成的菜单和工具栏,关于打印的命令ID为ID_FILE_PRINT ,而在视图类的MessageMap里有这样一项,ON_COMMAND (ID_FILE_PRINT, CView::OnFilePrint),因此实际使用的过程中可以不用原来的ID, 而使用自己的ID如ID_MYPRINT,再在MessageMap里加入ON_COMMAND (ID_MYPRINT, CView::OnFilePrint)即可完成原来一样的功能。ViewPrnt.cpp中有CView的OnFilePrint的函数的具体实现,ViewPrnt.cpp的位置读者自己用windows查找就能找到,这是MFC的源代码,本文把其中的主要代码列出放在下面,直接看下面的分析:
void CView::OnFilePrint()
// get default print info
if (OnPreparePrinting(&printInfo))
if (dlg.DoModal() != IDOK)
OnBeginPrinting(&dcPrint, &printInfo);
OnPrepareDC(&dcPrint, &printInfo);
OnPrint(&dcPrint, &printInfo);
OnEndPrinting(&dcPrint, &printInfo);
// clean up after printing }
其中加粗的代码行为可以重载的虚函数,根据不同的用户,其内容会不同。对于 OnPreparePrinting() 函数的具体内容必须有 return DoPreparePrinting(pInfo);这是在一个打印过程中最先调用的。当然也可以包含一些其它的打印初始化操作。我们最主要的是要重载三个函数:
OnBeginPrinting();
OnPrint();
OnEndPrinting();
而以 OnPrint 最为复杂,它是我们要写大量代码实现我们打印功能的地方。对于默认的OnPrint实现是调用CView的OnDraw,也就是和绘制视图类的客户区的内容完全相同的方法来在打印机上绘图。实际中我们在两种地方绘图的内容是完全不同的,可能用户在客户区绘的是一个曲线,而在打印机上要绘制表格和数据。OnPrint(CDC* pDC, CPrintInfo* pInfo)的第二个参数是一个CPrintInfo类型的指针,我们可以从这个指针指向的对象中获得很多信息,如总共的页数,当前的页数,这在打印页眉页脚时可能是很有用的信息。CPrintInfo的定义如下:
struct structCPrintInfo // Printing information structure
CPrintInfo();
~CPrintInfo();
CPrintDialog* m_pPD;
// pointer to print dialog
BOOL m_bDocO
// TRUE if printing by IPrint interface
// TRUE if in preview mode
// TRUE if bypassing Print Dialog
BOOL m_bContinueP// set to FALSE to prematurely end printing
UINT m_nCurP
// Current page
UINT m_nNumPreviewP // Desired number of preview pages
CString m_strPageD
// Format string for page number display
LPVOID m_lpUserD
// pointer to user created struct
CRect m_rectD
// rectangle defining current usable page area
// these only valid if m_bDocObject
UINT m_nOffsetP
// offset of first page in combined IPrint job
DWORD m_dwF
// flags passed to IPrint::Print
void SetMinPage(UINT nMinPage);
void SetMaxPage(UINT nMaxPage);
UINT GetMinPage()
UINT GetMaxPage()
UINT GetFromPage()
UINT GetToPage()
UINT GetOffsetPage()
OnBeginPrinting()通常用来设定要打印的总页数,以及一些和页面尺寸有关的初始化工作,在OnBeginPrinting()中设定打印的页数是必要的,默认的页数是只有一页,如果开发人员打印的页数大于1,则必须在此函数中设定打印的页数。然后在OnPrint(CDC* pDC, CPrintInfo* pInfo)中用pInfo-& m_nCurPage获取当前的页码,根据当前的页码打印该页相应的内容。OnEndPrinting用来释放在OnBeginPrinting中申请的资源,如果没有申请,则不需重载该函数。
关于打印预览只需要将自己的执行打印预览功能的命令ID和CView::OnFilePrintPreview关联起来就行了,具体方法是在用户的视图类的MessageMap中加入:
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview);
其中ID_FILE_PRINT_PREVIEW是默认的ID,开发人员也可以使用自己的ID。其实只要重载了OnPrint函数,在打印和打印预览中就可以重用该函数了。到现在为止,相信读者已经对利用MFC的文档视图结构来实现一个包含打印和打印预览功能的程序有了一个总体的认识了,本文还针对该方法给出了一个示例代码,代码来自Jeff Prosise 的《MFC windows程序设计》,见参考文献[1]。
2、没有文档视图结构的程序中利用MFC进行打印程序的编写
如果程序不是文档视图结构的,我们要使用MFC来进行打印,则可以通过建立一个虚拟的文档视图结构来进行打印,其实MFC的打印的强大功能是在CView里提供的,而CView类的对象是一个子窗口,它必须是某一个框架窗口的子窗口,而在对话框程序中,我们只需要打印,而不需要显示这个框架窗口和视图。我们以按下按钮"打印"来执行打印程序,例如按钮为ID为IDC_PNT,消息相应函数为OnPnt(),即:
ON_BN_CLICKED(IDC_PNT, OnPnt);
需要在OnPnt中建立一个框架窗口,同时使某个CView类的对象为该窗口的子窗口。因此笔者建立了两个类,一个为框架窗口类CPrintFrame,另一个为CPrintView,具体的内容见示例代码。在新建一个用于打印的虚拟框架窗口时,需要将执行打印的对话框的指针传给框架窗口,这以便在对话框来响应WM_BEGIN_PRINTING和WM_END_PRINTING消息,使对话框可以完成打印的初始化和释放操作。在执行一个打印任务时,将打印的流程交给CView来进行,而这个CView是虚拟的,只是用来完成打印一些操作,其它内容则完全不负责处理,而当要执行CView::OnPrint时,则又将处理的具体内容传回到对话框,而对话框则只需要响应WM_MY_PRINT消息即可:
pFrame-&m_pCallerDlg-&SendMessage(WM_MY_PRINT,(WPARAM) pDC, (LPARAM) pInfo);
使打印的具体处理又传回到对话框中,使开发人员根据具体的需要写WM_MY_PRINT的处理函数就可以实现打印,而CView::OnPrint(CDC* pDC, CPrintInfo* pInfo)的参数也从WM_MY_PRINT的消息参数传出来,在用户的对话框程序中,需要写的代码就很少,主要有以下几个步骤,
1.建立一个CPrintFrame的对象,设该对象的指针为pFrame,并将对话框的指针传给该对象的m_pCallerDlg,即pFrame-&m_pCallerDlg = this;
2.调用对象的Create函数创建框架窗口;例如pFrame-&Create(NULL,"频谱打印",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
3.如果要执行打印,则调用pFrame-&m_pView-&OnMyPrint();
4.如果要执行打印预览,则调用:
pFrame-&m_pView-&OnMyPrintPreview();
void CDlgPrintDlg::OnPrint() //执行打印功能
CPrintFrame *pFrame = new CPrintF
pFrame-&m_pCallerDlg =
pFrame-&Create(NULL,"Curve
Print",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
pFrame-&m_pView-&OnMyPrint();
void CDlgPrintDlg::OnPrintPreview() //执行打印预览功能
CPrintFrame *pFrame = new CPrintF
pFrame-&m_pCallerDlg =
pFrame-&Create(NULL,"Curve Print
Preview",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
pFrame-&m_pView-&OnMyPrintPreview();
5.在对话框中响应 WM_BEGIN_PRINTING, WM_END_PRINTING,WM_MY_PRINT消息,分别完成打印的初始化,释放和具体的打印操作;
如在示例程序中添加了三个消息响应函数来执行该功能。
ON_MESSAGE(WM_BEGIN_PRINTING,OnBeginPrinting)
ON_MESSAGE(WM_END_PRINTING,OnEndPrinting)
ON_MESSAGE(WM_MY_PRINT,OnMyPrint)
其中OnMyPrint是跟具体要打印什么内容有关的开发人员要重点完成的代码,可以打印表格,图片,数据,只要GDI绘图可以进行的操作在这里都可以完成。由于打印预览的一部分工作在CView类里完成,因此在用户程序中只需要相应WM_MY_PRINT消息就可以执行打印预览的功能,而不需要另外编写打印预览代码。
本文提供的CPrintFrame和CPrintView类是连个可重用的类,开发者只需要把这两个类对应的四个文件拷贝到工程文件所在目录中(PrintFrame.h, PringtView.h,PrintFrame.cpp, PrintView.cpp),并将这四个文件加入工程,并在需要执行打印功能的代码处加入
#include "PrintFrame.h"
#include "PrintView.h"
然后按照上述5个步骤进行即可以实现一个功能完整的打印程序,利用上述类实现对话框打印不但节省开发者许多时间,而且功能很强大,能达到很专业的水平,但是该方法有一个缺点,笔者发现如果开发者使用静态连接的MFC库时则会出错,只适用于Use MFC in a Shelled DLL情况,而且必须使程序为Debug版本的。
3、示例代码的执行效果
图1 执行打印功能的对话框
当按下打印预览后则会产生一个框架窗口,显示打印预览的内容,如图2所示:
图2 打印预览效果图
可以在上图的界面上按两页同时对两页预览,如图3所示:
图3 两页同时预览效果图
但有一点需要注意,在预览界面上的打印按钮不可用,如果按该"打印"钮则直接等于将预览窗口关掉,因此要执行打印功能必须另外在对话框的界面上放一个打印按钮,如果执行了"打印"功能,则会弹出一个选择打印机的对话框,如图4所示。这个对话框是MFC的打印结构内置的,不可以消除,当用户选择了正确的打印机后则可以打印出具体的内容了。
图4 打印机选择对话框
4、 结束语
本文从分析MFC的原代码入手,利用MFC的CView类提供的打印和打印预览功能进行了在对话框中的打印和打印预览。利用面向对象的C++写了两个可重用类CPrintFrame和CPrintView,实现在对话框中的打印和打印预览功能,极大的简化了对话框打印程序的编写。
[1]Jeff Prosise,Programming Windows with MFC - 2nd ed,Microsoft Press,1999.
[2]Charles Petzold, Programming Windows-5th ed,Microsoft Press,1998.
[3]侯俊杰,深入浅出MFC,华中科技大学出版社,1999
太棒了!!!!
15:01 发表
最多还可以输入100字
【VIP年会员制套餐】
【C/C++软件工程师实战能力集训大纲】
VC知识库发布了C/C++业界的“本草纲目”
【牛人都在千人一号群! 加群三步走!!!】
第一步:请必须加VC知识库QQ: 为好友;
第二步:请必须关注本站微博:
第三步:申请加入群:.(必须将关注微博截屏发到QQ方可通过!)
【最新2013:】
全部100% VC++源码提供: E-Form++全新大型SCADA & HMI解决方案源码、CAD解决方案源码、Gis解决方案源码 、电力石油化工仿真与图形建模解决方案源码、大量其他高级制图VC++源码下载!
【 新视频发布】
o o o o o o o o o o
在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。...
本人在网上搜罗过一些与关机有的代码,发现关机的代码差不多都一样,而对关机前的特效的代码几科没有,只有一个WIN2000的,其方法如:制造一个刷子,用灰色刷屏幕!以下这部分为网上的一个老版本的关机效果代码,不是很好........
本文介绍了套接字编程的基本知识。...}

我要回帖

更多关于 照片打印软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信