SetBkMode(TRANSPARENT);pDC->Rectangle(10,40,310,350);pDC->Ellipse(50,50,210,220);pDC->Ellipse(70,240,280,320)//设置映射模式pDC->SetMapMode(MM_ANISOTROPIC);CSizewinSize=CSize(1024,768);pDC->SetWindowExt(winSize);//设定窗口大小//得到实际设备每逻辑英寸的像素数量intxLogPixPerInch,yLogPixPerInch;xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);//得到设备坐标和逻辑坐标的比例以下是实现打印:intxExt,yExt;xExt=winSize.cx*600/xLogPixPerInch;//按照打印机扩大视口yExt=winSize.cy*600/yLogPixPerInch;pDC->SetViewportExt(xExt,yExt);//设定视口大小-IMDN开发者社群-imdn.cn"> SetBkMode(TRANSPARENT);pDC->Rectangle(10,40,310,350);pDC->Ellipse(50,50,210,220);pDC->Ellipse(70,240,280,320)//设置映射模式pDC->SetMapMode(MM_ANISOTROPIC);CSizewinSize=CSize(1024,768);pDC->SetWindowExt(winSize);//设定窗口大小//得到实际设备每逻辑英寸的像素数量intxLogPixPerInch,yLogPixPerInch;xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);//得到设备坐标和逻辑坐标的比例以下是实现打印:intxExt,yExt;xExt=winSize.cx*600/xLogPixPerInch;//按照打印机扩大视口yExt=winSize.cy*600/yLogPixPerInch;pDC->SetViewportExt(xExt,yExt);//设定视口大小 - IMDN开发者社群-imdn.cn">
登录
首页 » VC++源码 » VC++ 设置打印图形的位置

VC++ 设置打印图形的位置

于 2022-01-27 发布 文件大小:19.52 kB
0 352
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0 设置打印图形的位置,实现所见即所得的打印功能。   if(pDC->IsPrinting())//判断是否因打印或打印预览而调用OnPrepareDC()函数   {    pDC->SetViewportOrg(250,400);//设置视口坐标原点   }   //以下为显示和打印的内容   pDC->TextOut(10,10,"实现所见即所得的打印");   pDC->SetBkMode(TRANSPARENT);   pDC->Rectangle(10,40,310,350);   pDC->Ellipse(50,50,210,220);   pDC->Ellipse(70,240,280,320)   //设置映射模式   pDC->SetMapMode(MM_ANISOTROPIC);   CSize winSize = CSize(1024,768);   pDC->SetWindowExt(winSize); //设定窗口大小   //得到实际设备每逻辑英寸的像素数量   int xLogPixPerInch,yLogPixPerInch;   xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);   yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);   //得到设备坐标和逻辑坐标的比例   以下是实现打印:   int xExt,yExt;   xExt=winSize.cx*600/xLogPixPerInch; //按照打印机扩大视口   yExt=winSize.cy*600/yLogPixPerInch;   pDC->SetViewportExt(xExt,yExt); //设定视口大小

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 使用IN引入子查询限定查询范围
    VC++ 使用IN引入子查询限定查询范围的方法+源代码实例,用以查询在指定条件区间中的数据,比如具体到本例子中,查询收入在1000到3000之间的员工数据,用到了子查询的方法,通过本例子源码的学习,你可学习到VC++基本的数据库连接方法和in子查询的方法,当然子查询有些高级,本源码还算简单。
    2022-10-30 06:05:03下载
    积分:1
  • VC++ FTP、HTTP 多线程断点续传下载文件
    VC++ FTP、HTTP 多线程断点续传下载文件,在断点下载时,可获取远程站点信息,如:是否支持断点续传、要下载的文件大小和创建时间等。可设置下载的线程数、下载任务的线程函数、多线程断点续传下载一个文件、关于BOOL bForceDownload/*=FALSE*/的定义,如果为 TRUE 表示强制性重新下载,以下载的部分将会被删除,FALSE 表示断点续传,并创建多线程下载使用的对象和数据缓冲、删除多线程下载使用的对象和数据缓冲。   启动多线程下载,返回 0 表示失败,1表示成功,2表示不用下载了,因为该文件已经下载过了   智能判断要保存的文件是否已经存在,且大小和创建时间一致,如果不是强制性下载,则不需要再下载了。
    2022-03-19 00:12:39下载
    积分:1
  • VC++自定义鼠标击键(点击)的声音
    VC++自定义鼠标击键声音,包括单击鼠标左键和右键的声音信息,一般情况下,Windows系统中有内置的声音,本程序是修改掉默认的单击声,改为自定义的,想熟悉修改过程的,可下载本源码参考。   运行本程序后,在窗口空白处单击鼠标左键或右键会出现与系统不一样的叮咚声音。
    2022-03-25 07:58:00下载
    积分:1
  • VC++ 调用 windows 字体、打印、调色板等对话框示例
    VC++ 调用 windows 字体、打英调色板、搜索、替换、保存、颜色、页面设置、打印设置、打开等常用对话框窗口示例,这些对话框也可以在控制面板中打开,主要是VC++与调用Windows相关模块相关的一个程序示例,有助于了解与windows编程的相关技巧。
    2022-03-24 00:23:54下载
    积分:1
  • VC++ Thread多线程执行不同任务的例子
    VC++ 创建多个 Thread多线程,用以执行不同任务的例子,运行程序后你可看到分别有红色、蓝色的小球,在沿各自不同的轨迹做运动,在代码中,我们创建了一个小球运动线程的主函数,分别用两个线程调用这个函数,但设定的参数不一样,在小球运动函数中,分别定义了小球X、Y方向的运动,确定重绘区域,重绘小球,挂起线程,控制小球速度,并取得客户区大小以及取得小球客户区相对于窗口客户区的位置等,最好还写了一个函数,终止蓝色和红色线程。
    2022-12-06 04:40:03下载
    积分:1
  • VC++ OpenGL粒子系统之火山喷发
    VC++ 带音效的OpenGL粒子系统之火山喷发,作者:蔡真真 张田田。选择运行参数后,在音效的配合下,很逼真的火山喷发效果展现在眼帘。程序中为每个动态元素都制作了操作类,比如键盘类和程序框架类 、粒子系统火山喷发类、字体类、载入位图类、粒子定义类、粒子系统喷发具体实例类,粒子系统火山喷发模式选择对话框类等,这些类的共同发力,实现了逼真的火山喷发效果,当然你的电脑中需要安装有OpenGL组件,在预览效果时,可选择窗口大小以及全屏、音效等。   在具体实例类中,完成了核心的火山叶喷发功能,比如计算帧速、输出文字信息、绘制地面、绘制天空、绘制背景、初始化粒子、更新粒子等操作。当然,粒子定义类也是一个很主要的操作类。
    2023-02-15 21:10:04下载
    积分:1
  • VC 向加密狗中写入数据
    VC 向加密狗中写入数据,与加密狗相关的例子。   DogAddr = 10; //设置起始地址   DogBytes = m_Data.GetLength(); //设置数据的长度   DogData = m_Data.GetBuffer(0); //设置写入的数据   if (WriteDog()==0)   MessageBox("数据写入成功");
    2022-07-14 23:43:14下载
    积分:1
  • VC++ 表格式简历打印的实现
    本源码演示在VC++中打印简历模板,是一个采用表格设计的简历界面,VC++将按设计的模式打印出来,就像使用Word打印一样的功能。   以下代码可作为参考:   //获取位图所有数据   m_bitdata = m_pRecord->GetFields()->GetItem((long)9)->GetChunk(m_factsize);   HBITMAP m_hmap ;   if (m_bitdata.vt==VT_ARRAY |VT_UI1)   {    //定义一个数据缓冲区    m_bitbuffer = new char[m_factsize];    //将m_buffer指向m_bitdata    SafeArrayAccessData(m_bitdata.parray,(void**)&m_buffer);    //复制位图数据到m_bitbuffer;    memcpy(m_bitbuffer,m_buffer,m_factsize);    SafeArrayUnaccessData(m_bitdata.parray);    void* m_factbitdata ; //实际的位图数据    //temp指向位图信息头    temp = m_bitbuffer+sizeof(BITMAPFILEHEADER);    BITMAPINFOHEADER * m_bitheader = (BITMAPINFOHEADER*)temp;    //获取位图信息,它包括位图信息头和调色板    BITMAPINFO* m_bitinfo = (BITMAPINFO*)temp;    //获取位图的实际数据    m_factbitdata = (void*)(m_buffer+((LPBITMAPFILEHEADER)m_bitbuffer)->bfOffBits);    CClientDC m_dc(this);    //创建位图    hbitmap = CreateDIBitmap(m_dc.m_hDC,m_bitheader,CBM_INIT,m_factbitdata,m_bitinfo,DIB_RGB_COLORS);    delete [] m_bitbuffer;   }
    2022-07-02 18:31:16下载
    积分:1
  • VC++读取AutoCAD格式的dxf文件
    VC++编程实现读取AutoCAD格式的dxf文件,打开DXF文件后,本程序可放大、缩小预览效果。可以把本程序看作是一个打开DXF文件格式的查看器。源代码中的CadIO.dll文件请放在与编译后的Exe文件同级目录下。测试程序的源代码在cadDXFLibcadlib_srcCadLibTest目录下。
    2022-07-01 21:46:50下载
    积分:1
  • VC++自绘窗体完整实例源码
    C++自绘窗体的完整代码,为你提供了一个对话框自绘设计方案,代码中的注释非常详细,相信会帮助大家设计好自己的个性窗体。这个自绘窗口是通过加载背景位图来实现的,对BMP位图进行平铺处理,也就是帖图的意思,定义一个位图画刷,选中画刷,然后填充客户区域。在填充的时候,需要判断位图的宽度与窗体边缘的宽度,这里对标题栏、窗体按钮、边框等窗体元素都进行填充处理,代码中有具体的实现过程。
    2022-02-22 04:29:43下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载