说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

100分紧急求救~有关CB打印问题

编辑:说三道四文库 发布时间:2017-10-17 10:10
HTML文档下载 WORD文档下载 PDF文档下载
我现在想在打印纸的特定位置打印一条直线(如起点坐标(200cm,200cm)终点坐标(400cm,400cm)),我设想现在Form上的Image画

imgMain->Canvas->MoveTo(100,100);
imgMain->Canvas->LineTo(200,200);
然后在通过象素和打印机的映射关系处理,然后在调用form->Print().

先前提问过,网友说使用SetMapMode,但是好像不太会用,是不是SetMapMode(GetDC(form->Handle),参数)还是不因该调用form的打印函数,需要另行书写打印函数?望各位高手指点用法。还有人说是GetDeviceCaps函数,不知应该使用拿一个?还是我的思路错误?望大侠指点!
关注!关注.
不好意思,我好像最多只能给40分
屏幕呢打印的像素对应关系为:PrintPhotoSizeX,PrintPhotoSizeY
ScreenPixelsPerInchX=GetDeviceCaps(Screen->Canvas->handle, HorzRes)/GetDeviceCaps(Screen->Canvas->handle, HORZSIZE);
ScreenPixelsPerInchY=GetDeviceCaps(Screen->Canvas->handle, VERTRes)/GetDeviceCaps(Screen->Canvas->handle, VERTSIZE);

    PrinterPixelsPerInchX=GetDeviceCaps(Printer->handle, HorzRes)/GetDeviceCaps(Printer->handle, HORZSIZE);
    PrinterPixelsPerInchY=GetDeviceCaps(Printer->handle, VERTRes)/GetDeviceCaps(Printer->handle, VERTSIZE);

            PrintPhotoSizeX=OneInchSizeWidth/ScreenPixelsPerInchX * PrinterPixelsPerInchX;
            PrintPhotoSizeY=OneInchSizeHeight/ScreenPixelsPerInchY * PrinterPixelsPerInchY;

打印可以这样:
TPrinter *Prntr = Printer();
Prntr->BeginDoc();
Prntr->Canvas->MoveTo(100,100);
Prntr->Canvas->LineTo(200,200);
Prntr->EndDoc();
先设置打印机Canvas的坐标映射方式:
  SetMapMode (Printer()->Canvas->Handle, MM_LOMETRIC );
这句把Canvas的坐标映射设为 每逻辑单位就是0.1毫米。
然后
  Printer()->Canvas->MoveTo (100,100);
  Printer()->Canvas->LineTo (200,200);
这就从 (10cm,10cm) 开始划一条直线到 (20cm,20cm)
注意打印机有一个不可打印区域,而Printer()->Canvas是不包括这个区域的
就按照项羽兄的代码就可以了,这个代码在很多地方都用过哦。
感谢各位网友,特别是过江项羽和未死的马同志,有没有在西安的?
再请问过江项羽兄,实际上我想解决的问题是打印出来在特定的位置(当然是以厘米为单位)具有特定的直线、文字、图片,以构成整个打印结果。我开始设想的是通过对当时设备映射情况的获取,计算出相应打印机位置对应的FORM中的像素位置,并在FORM中的位置画直线、用LABEL书写文字(因为还存在用户可以对文字的位置进行托拽调整),然后再调用FORM->PRINT()打印整个FORM,不知道这样的方法是否可行?像素的位置是否是通过以下计算公式得到:
  iScreenPixelX = GetDeviceCaps(Screen->ActiveForm->Canvas->Handle, HORZRES);  //屏幕横轴得像素数
  iPrinterInchX = GetDeviceCaps(Printer()->Handle, HORZSIZE);
  //打印机横轴的英寸数
  iScreenPixelY = GetDeviceCaps(Screen->ActiveForm->Canvas->Handle, VERTRES);
  iPrinterInchY = GetDeviceCaps(Printer()->Handle, VERTSIZE);

  打印机在位置(iPrinterPostionX,iPrinterPostionY)上的点对应FORM的坐标:

  iFormPixelX = iPrinterPositionX * iScreenPixelX /iPrinterInchX; 
  iFormPixelY = iPrinterPositionY * iScreenPixelY /iPrinterInchY; 

  另外,GetDeviceCaps(Printer()->Handle,)和GetDeviceCaps(Printer()->Canvas->Handle,)究竟有什么区别?

  谢谢赐教!能不能把您的QQ号码告诉我,或者你先加我10205081,谢谢!
sorry 一直没看到。
像素的位置 PrintPhotoSizeX,PrintPhotoSizeY
OneInchSizeWidth,OneInchSizeHeight 实际需要的尺寸,单位毫米

HDC hDc=Printer()->Canvas->Handel;
int picPerMMX=GetDeviceCaps(hDc,HORZRES)/GetDeviceCaps(hDc,HORZSIZE);
int picPerMMY=GetDeviceCaps(hDc,VERTRES)/GetDeviceCaps(hDc,VERTSIZE);  
PrintPhotoSizeX=OneInchSizeWidth * picPerMMX;
PrintPhotoSizeY=OneInchSizeHeight* picPerMMY;

Printer()->Handle:打印机句柄,可控制打印机
Printer()->Canvas->Handle可用来控制Cavas


谢谢过江项羽兄!!
专利案苹果获胜:获赔2.9亿美元 三星不服将继续上诉 Google正打造Spark:一个基于Chrome App的集成开发环境 研发周报:成为一名PHP专家其实并不难 将Vistual Studio打造成为Node.js IDE 度量Web性能的关键指标 路由器未火够!高通发布互联网处理器 Unite2014大会:移动开发者的饕餮盛宴 玩与学并存 Kano kit让你自制Raspberry Pi电脑 【BDTC讲师】Hortonworks Gunther&amp;amp;Ted:HBase、Stinger的发展与实践 人人网推出开放平台2.0 多项重大改进吸引开发者回流 红帽高管:将Linux价值理念和做法延伸到OpenStack Fundation 5发布:号称最快版本,响应式用户体验更完善 程序员远程工作必会编程语言JavaScript 苹果确认收购3D传感技术公司PrimeSense 从电影《饥饿游戏》里学到的IT知识 细数IE11的七大变化 2013中国大数据技术大会,你不可错过的10个理由 Unity 2D全球发布,开发者梦想照进现实 Kraken:改变PayPal开发文化的Node.js框架 微软高管:我们将不会再有三个Windows平台 中兴明年推智能手表 暂只能与自家手机搭配使用 移动开发必备!15款jQuery Mobile插件 Chrome新变化:在地址栏里增加搜索按钮 电信行业大数据实践走进大数据大赛:电信网络寻呼黑洞分析 京东云开发者沙龙(北京站):“千人千面”的机遇 小工具、大能量——2013移动开发工具调查报告 人人网重新布局移动社交战略 专注学生群体发布新版移动客户端 谷歌把“OK,Google”带到Chrome 让PC也能便捷语音搜索 美国女性工程师远没有你想象的多 技与艺:对话《雨血》系列制作人梁其伟先生 2014年平板电脑或将占PC市场的“半壁江山” 求:0,1,-1的N长度组合算法 各位问一个比较少见的问题100分相送,急急急!!! 这样的条件判断语句要怎么写?(很简单的) 一款很不错的电子图书制作、资料管理软件 在-卢-<<利用XML实现通用WEB报表打印>>时报:未将对象引用设置到对象实例 DBEdit如何限制输入格式? 简单问题 ★★★狂急!请问怎样取得文件的创建日期!在线等!在线结贴!★★★ 初学xml,很简单的问题,就是不会,各位近来看看!一行代码搞不定… 有没有用于unix下c开发的dbx调试图形界面的工具? 哪位有tar 和 gzip 命令参数的详细中文介绍 jsp网站测试,欢迎大家测试 提问 请问有没有直接可以HTML(XHTML、SHTML)生成XML-XSL!!的工具 进程外组件的关于注册的问题? jsp中怎样生成静态页面 请问:如何返回webservice类的一个或多个实例? 怎样触发另一个窗口中的javascript函数? 谁能提供一些检测内存泄露的工具或方法 如何将 FoxBase 中的数据导入到 SQL Server 中? 求助:API操作注册表出现奇怪问题 请问如何改变windows xp中的用户的登陆顺序 有问题:如何通过页面下载附件? 求助:VB生成安装文件的问题 下面的程序怎样优化?(着急) 怎么样在C++ Builder 的Form上显示文字!我不要用控件,要直接显示在Form上 200 分相送 高手请进 请教如何写成特殊格式文件的存取的问题. 适配器更新数据集怎么用事务 怎样才能设“开机密码”? 哪位高手可以给我介绍一下TOMCAT和APACHE,我刚接触,需要了解一下 关于SocketConnection. 进入linux8.0后,主板指示灯闪烁问题,请高手指教。 谁给一个QQ给我啊? 高分请教? 如何查看一个记录集中游标的位置。 求一个简单的窗口函数 请问如何实现计算器功能 如何修改这个脚本?(应该比较简单) 大伙能否谈谈.net整体软件框架的设计 来者有分:调查:大家是在用vc.net还是用vc60,我在用vc60 用SQL SERVER如何实现插入数据后立刻取出插入的数据的id?在线等待,急~~~~~~~ 关于JTree ppt 大家帮我看看这个方法错在哪里?分不是问题 请问获取中文操作系统下获取文件信息时lang-charset的取值为什么????? CSDN论坛左边的树形栏目能动态添加吗? 如何设置几秒钟后转向某页面那种效果。 用户需求分析说明书和系统分析说明书到底是不是一回事!! 发邮件时,收到的邮件竟然是乱码,如何解决?100分大放送 PB中怎么和FLASH通讯啊???? affirm和allege的区别用法和意义上 武则天和唐玄宗之间是什么关系 HCl+NaOH=NaCl+H2O 上式中的盐酸是稀是浓? 哪位ANSYS高手解决一下 constraint equation 1 has no unique degree of freedom 哪里出错误了?constraint equation 4 has no unique degree of freedomANSYS模态分析 最后计算出现这个问题 搜索网上出错的地方,有一个212什 在一个圆中有两条弦相交于一个定点且这两条弦互相垂直.求这两条弦乘积的最大值和最小值. 为什么小颗粒会向水漩涡中心去 拨云见日的意思 土壤水解性氮的测定中使用什么规格的微量滴定管?有液相色谱仪,但不知到检测方法,望好事做到底,提供详细检测方案。可发到wangchuan.888@136.com邮箱,先谢谢了。 医院里面的X光是干什么用的. 2005年5月11日,台湾亲民党主席宋楚瑜应邀到清华大学演讲.此前北京连日下雨,这一天阳光灿烂.演讲一开始,宋楚瑜就以“拨云见日”来表达他此时的感慨.请问“拨云见日”的双重含义是?请帮 requested feature is not available X射线的应用 拨云见日什么意思 sketchup如何用测量工具实现缩放rt 我要把一个物体缩放到一个实际尺寸 用测量工具以前可以 输入一个数字整体就变了 现在忘记怎么弄的了 - 已知集合A=﹛1,2,3,K),B=﹛4,7,a,a+3a),且A∈Z,K∈Z,映射f:x箭头y=3x+1,x∈A,y∈B,求实数a、k的值. 拨云见日的含义 sketchup模型大比例缩放后,点击进入块时会出现观察上的破面,使继续修改时很难进行,如何避免?是指观察时产生破面 实际上并没有破,如何做到缩放后还能继续操作修改?我指的是大比例缩放后 如何画一个标准椭圆 拨云见日的感觉是什么意思 邓小平在文化大革命时期,情况如何?后期有没有掌权,做出贡献 There is ( )“s” in the word “six”. 垂体和甲状腺为什么可以相互调节?甲状腺的负反馈不是作用于下丘脑吗? 电子显微镜中,能不能用X-ray取代电子光源,为什么 怎么样画一个标准的椭圆, 翻译two-linear-degree-of-freedom robot 电镜技术中可否用X-ray取代电子光源 There is _____ “s” in the word “six” 怎么答 成为拨乱反正和改革开放的思想先导的事件是什么 ICPMAX和X光衍射仪和扫描电镜和气象色谱仪和原子吸收的实验室安装条件,知道一个也行啊, There is _ "s" in the word "six" 请填空说明为什么用AN 过圆内某点的弦中,垂直于直径的弦最短.是不是定理? 马克思主义哲学原理(第2版)课后题答案陈先达主编,人民大学出版社的版本.就要课后复习题的答案.有的请速发,分稍后给主要是内容提要里面的文字表述不严谨,要是考试答题那么些的话能得 there is () "x" in () word "six"为什么第一个不用an 反身代词的用法?youself herself himself itself myself themselves ourselves yourselves 的用法主要想知道他们分别在什么情况下用 请问长期在X光操作间会不会有什么影响? 成语中的通假字是什么”博闻强识“”拨乱反正”“披沙简金”“厉兵秣马”“厝火积薪”“被坚执锐” 告诉我 英语反身代词 的用法 谢谢啦 用x光给土拍摄照片如果我我用x光给泥土拍摄,会得到什么?黑糊糊的一片?土中的部分杂质?能穿透有机玻璃吗? 及反,哪个是通假字 第四题. 计算下列极限.题目如图.答案是二分之一.但过程我不懂. 漩涡为什么能向中心吸物体 设集合a=b={(x,y) x属于r,y属于r},点(x,y)在映射f:a到b的作用下对应的点是(x-y,x+y),则b中点(3,2)对应的a中点的坐标为 ANSYS中 size cntrls是什么意思 漩涡为什么中间低两边高 设集合A=B={x| x∈R,y∈R} ,点(x,y)在映射f:A→B的作用下对应的点是(x-y,x+y)则B中点(3,2)对应的A中的点的坐标为 求懂的人忙我做两道CAD的题.要写作图步骤如题 看好是做题步骤啊,这个东西对我很重要 祝你们永远快乐!谢谢各位哥哥姐姐们了我只有5分了 不能多给你们了 请哥哥姐姐们多费心了 已知,集合A={x|-2≤x≤2},B={x|-x ≤x≤1}对应关系f:x→y=ax若在f的作用下能够建立从 A到B的映射f:A→求实数a的取值范围.主要是B={x|-x ≤x≤1}弄不清 求大神解释椭圆为什么c平方=4c=2,不是应该焦点是c=根号2吗? CF常说别BB N0 cassete with paper of the size requested is available是什么意思 已知集合A={xl-2≤x≤2},B={xl-1≤x≤1},对应关系f:x到y=ax,若在f的作用下能够建立从A到B的映射,求实数a的取值范 为什么水壶烧开好壶嘴烧开后一定距离才能看见白气 求反身代词的各种用法~(高三英语) 草菅人命 造句 基本放大电路动态分析中把直流电压源视为“接地”,为什么是视为“接地”?而不是视为其他.我是知道“叠加原理”的,我的意思是为什么不把它开路悬空分析,而是要接地 打印时出现英文对话框是什么意思?英文是No cassette with paper of the size requested is available当在电脑上点打印时,出现一个对话框对话框是英文No cassette with paper of the size requested is available 然后就打 草菅人命的造句是什么? 直流电压源除源怎么处理,接地还是短路还是断路 唐玄宗拔乱反正是什么意思? 用两个四字成语造句 1、势不可挡 饱经风霜 2、查无实据 草菅人命 3、和蔼可亲 安闲自在 澳大利亚11岁男孩因纵火被关“虚拟软美国首条高铁动工 48公里长穿越加州美国被曝监听意大利民众通讯 意政府或以情报部长质疑伊朗谈判诚意 呼吁美国津巴布韦官员:中对非实行新殖民主义属美称在叙利亚西方记者有遭绑架危险 应飓风“雷蒙德”威力减弱 有望周三远离日本上传视频宣传争议领土主权 韩政府美国首条高铁动工 48公里长穿越加州津巴布韦官员:中对非实行新殖民主义属美称在叙利亚西方记者有遭绑架危险 应法国调查显示大量法国工程师赴中国等国日本上传视频宣传争议领土主权 韩政府2013“北京缘”系列活动圆满落幕(女健美运动员因滥用激素慢慢长成“男儿飓风“雷蒙德”威力减弱 有望周三远离德国现任政府正式卸任 “黑黄联盟”终委内瑞拉发生监狱暴乱 6人死亡2013“北京缘”系列活动圆满落幕(中共代表团访问新西兰美一男子强奸女友6月大女婴致死 称无包河区义城街道康园社区开展首届楼栋好乌干达少女遭父强奸5年产子怒杀狼父被国务院:2015年确保老城区人均公园大兴摔女童案嫌犯回忆案发经过:不知车外籍留学生海口街头口含刀片全裸打坐(大兴摔死女婴案一审未当庭宣判 公诉人施明德:王金平是“万应公”无原则 不从“泛生态经济”看广西弄拉“大动作”农业专家:科学“抢救”受淹玉米“水一天天往下落,返乡心情一天比一天张华:台湾获邀参与国际民航组织有多层模特穿\"超短裙\"扮女警拍片反酒驾台湾男子拥二妻被判合法 每周各陪俩女岛内哪所大学硕士生最受企业认可? 台美媒:斯诺登泄密事件动摇美德紧密关系骏丰频谱科学大考:行销24年终究还是开城工业区16日重启 韩朝共同委举行台风“万宜”登陆日本 已造成1人死亡台风“万宜”袭日本 已致3失踪29伤“天价月饼”变身 “任君选择”发票主动脉夹层致死率高 主动脉外科注册登
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘