感谢Chris发布了DFL
,使用后发现没有打印功能,遗憾之后,不敢奢望,只好自己干。而在第一个版本的DFL Printting后,终于有时间,完成了第二个版本。每天匆匆编程,完成了不敢自专,抽空写出文档,功能太少,目标也太小
,欢迎大家指正。
本次版本,主要亮点:
1.把所以的代码集中到一个文件,包含测试,直接可以运行,0配置!
2.提供了打印预览的窗口,当然,还在测试中。
3.提供了打印对话框
4.打印纸张设置,Win9x没有测试。
5.使用可以类似于DWT的打印,也可以类似于dotNET里面C#的打印。
打印要了解的东西太多了,但看大师信手拈来,随意挥洒,就成就了打印的机制.看《Windows程序设计》,对打印描述也很简单。看了些代码,也修改了一个DWT的使用,但总觉得不了解机制不行,不了解底层不好。所以决心在以前修改的基础上,再抽丝剥茧,去粗取精,就有了现在的DFL Printting。
一.GDI的打印原理:GDI打印很容易,过程
1.取得打印机DC
2.使用StartDoc,启动打印文档。
3.循环使用StartPage,EndPage,在中间使用GDI函数画出打印页面。
4.使用EndDoc,结束文档。
说的都很简单,用的时候却不容易。
二.DFL的GDI封装
1.DFL GDI封装在drawing命名空间。封装了Graphics,字体,颜色,刷子,画笔,位图等。
Graphics封装了多数的绘图函数,使用简单,在Form中可以通过OnPaint中取得桌面的Graphics,直接在窗口进行绘图。
2.打印主要要用到Graphics,字体,画笔。
3.打印预览要用到位图,位图的复制,DFL封装了一个MemoryGraphics,可以完成这个工作。
三.DFL Printting封装
1.打印设置 PrintSetting
目前提供了打印的页码范围,打印的纸张大小,副本,但目前都没有使用。
2.打印对话框 PrintDialog 继承于通用对话框。
3.打印机 封装了Win32打印API,提供了纸张设置函数。
4.打印文档 PrintDocument,提供打印文档功能。只要继承或者实例化一个打印文档,在打印文档的printPage事件中调用Graphics的函数,进行绘图,实现打印。
5.打印文档也提供了printpreView,进行打印预览。
下一步:
1.完善打印设置:在打印设置后,在打印文档中,根据设置进行打印。
2.更多测试。
致谢
Walter Bright,D Program Language
Chris,
www.dprogramming.com/dfl.php
Stewart Gordon,Win32 Binding
Charles Pelzold 《Windows程序设计》
代码测试后发布了!
缩放还有问题.本来用Picture,发现预览无论如何也不行.只好直接绘图预览了.
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1、文件内容:perl-Locale-Maketext-1.23-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Locale-Maketext-1.23-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1、文件内容:pcre2-utf16-10.23-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pcre2-utf16-10.23-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
电脑调音软件下载是专为汽车音响爱好者和专业人士设计的一款强大工具, 这款软件的主要功能在于帮助用户对车载音频系统进行精确的数字信号处理,以提升音乐播放效果,提供更丰富的听觉体验。
1、文件内容:perl-IO-Compress-2.061-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-IO-Compress-2.061-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
MATLAB仿真实验:电动汽车有序充放电的机组组合与最优潮流算法研究——基于MILP与二阶锥松弛技术,MATLAB代码:考虑电动汽车有序充放电的机组组合和最优潮流 关键词:电动汽车 MILP 最优潮流 参考文档:《A bi-layer optimization based temporal and spatial scheduling for large-scale electric vehicles》 仿真平台:MATLAB YALMIP GUROBI 主要内容:机组组合采用原文相同的线性化方法 最优潮流采用二阶锥松弛替代原文算法 结果完全相同 ,电动汽车; MILP; 最优潮流; 二阶锥松弛; 线性化方法,基于MILP与二阶锥松弛的电动汽车有序充放电最优潮流仿真研究
基于麻雀搜索算法优化SVR回归预测模型:以身体脂肪含量数据集的精准预测为研究对象,基于麻雀搜索算法优化SVR回归预测模型 输入不限,单输出 数据选用:身体脂肪含量数据集 针对SVR回归预测模型采用麻雀搜索算法 ,基于麻雀搜索算法; SVR回归预测模型优化; 身体脂肪含量数据集; 算法优化SVR模型,基于麻雀搜索算法优化SVR预测身体脂肪含量模型
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
deepseek janus本地部署资料
1、文件内容:perl-Env-1.04-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Env-1.04-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于蒙特卡洛模拟法的风光场景生成与削减:深度解析风光出力模型及其实证研究,21-基于蒙特卡洛模拟法的风光场景生成与削减 摘要:代码主要做的是风光场景的生成与削减,首先对风光出力概率分布模型进行建模,分布以Beta模型以及Weibull分布模型描述光伏和风电出力的形状参数,并继而根据蒙特卡洛法模拟出1000次风光出力场景,最后通过概率距离对场景进行削减,直至生成5个场景。 本代码几乎一行一注释,相关公式我已经整理成文档供参考,绝对是目前最为细致的风光场景生成与削减的学习资料,欢迎来辨注释程度、出图效果可以见下图哦 优质服务:1、代码非常精品,注释几乎一行一注释; 5、本代码不提供本代码不提供 6、代码买前问清楚,一经不 不一经不 不 ,基于蒙特卡洛模拟法的风光场景生成与削减; 风光出力概率分布模型; Beta模型; Weibull分布模型; 蒙特卡洛法模拟; 场景削减; 注释详细的代码; 出图效果。,基于蒙特卡洛模拟法的风光场景生成与削减技术详解
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1、文件内容:perl-HTTP-Date-6.02-8.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-HTTP-Date-6.02-8.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
globalmousekeyhook InputSimulator