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 258
下载积分: 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 扫描仪控制程序
    这是一个在VC++环境下实现的扫描仪扫描管理程序,用于启动扫描和停止扫描,只是实现基本的扫描仪控制,不过本程序的顺利运行需要扫描仪支持,且是指定型号,窗口中对应的功能,由下面的按钮事件来响应:   开始扫描:   void CScanManageDlg::OnButton1()   {    m_Scan.ScannerAvailable();    m_Scan.OpenScanner();    m_Scan.StartScan();   }   停止扫描:   void CScanManageDlg::OnButton2()   {    m_Scan.StopScan();   }
    2022-05-27 18:23:01下载
    积分:1
  • VC++基于VC++写的登录程序
    VC++基于VC++写的登录程序,结合数据库实现的,是一个简单数据库程序,测试前请做以下工作:   1.配置ODBC数据源   2.新建CAdminDatasets类(方便登录对话框的调用),新建过程当中以CRecordset为基类,数据源选中对应数据库,然后选中对应用户登录表   3.新建登录对话框,以CDialog为基类。然后按程序代码执行登录检查
    2022-08-22 14:43:26下载
    积分:1
  • VC++ 使用TRY-THROW-CATCH结构捕获处理异常
    VC++ 使用TRY-THROW-CATCH结构捕获处理异常,在编辑框中,要求输入100~500之间的整数,如果超过边界,认为是异常,使用TRY CATCH结构捕获处理异常,异常测试代码如下:   UpdateData(true);   try//捕获异常   {    if(m_num>500)    throw 1;//抛出异常    if(m_num
    2023-07-20 04:55:03下载
    积分:1
  • VC++ 使用IN引入子查询限定查询范围
    VC++ 使用IN引入子查询限定查询范围的方法+源代码实例,用以查询在指定条件区间中的数据,比如具体到本例子中,查询收入在1000到3000之间的员工数据,用到了子查询的方法,通过本例子源码的学习,你可学习到VC++基本的数据库连接方法和in子查询的方法,当然子查询有些高级,本源码还算简单。
    2022-10-30 06:05:03下载
    积分:1
  • VC++ 图书管理系统含 SQLSERVER数据库
    一套完整的VC++ 图书管理系统源码,含 SQLSERVER数据库,数据库在database目录下,测试前请附加并连接好。源代码在源程序目录内,很完整,可在VC++6.0环境下顺利编译。运行效果如下图所示。   本套图书管理系统功能主要有:基本信息、图片管理、库存管理、查询管理、系统管理、系统登录、口令管理、系统人员管理等。每一个模块下都有很多子模块,界面设计也是很符合用户习惯的。
    2023-09-07 13:35:03下载
    积分:1
  • VC++ 首字母大写自动转换
    VC++拼音首字母大写自动转换程序,获取汉字的拼音首字母,并把首字母转换成大写,这是个VC.NET程序,我电脑上暂时没有编译环境,没有抓到截图,部分代码如下:   class CUpperFirstLetterApp : public CWinAppEx   {   public:    CUpperFirstLetterApp();   // 重写    public:    virtual BOOL InitInstance();   // 实现    DECLARE_MESSAGE_MAP()   };
    2022-04-18 02:09:56下载
    积分:1
  • VC++6.0释放EXE资文件
    VC++6.0释放EXE资源文件,要释放的程序是一个简单的MessageBox,基于MFC对话框程序,先插入已经存EXE(或DLL)文件到VC资源文件中。   /* 函数说明:释放资源中某类型的文件   /* 参 数:新文件名、资源ID、资源类型   /* 返 回 值:成功返回TRUE,否则返回FALSE   BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)   {    // 资源大小    DWORD dwWrite=0;    // 创建文件    HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,    CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);    if ( hFile == INVALID_HANDLE_VALUE )    {    return FALSE;    }    // 查找资源文件中、加载资源到内存、得到资源大小    HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);    HGLOBAL hG = LoadResource(NULL, hrsc);    DWORD dwSize = SizeofResource( NULL, hrsc);    // 写入文件    WriteFile(hFile,hG,dwSize,&dwWrite,NULL);    CloseHandle( hFile );    return TRUE;   }
    2022-12-26 04:00:03下载
    积分:1
  • vc.NET MFC开发完成的晚会随机抽奖程序
    vc.NET MFC开发完成的晚会随机抽奖程序,这个程序作为抽签、抽奖程序都可以,程序中需要设置几个抽奖参数,然后运行抽奖程序即可。抽奖过程中,程序数字不停变化,形成了动态效果,停止程序后,会显示出抽出来的获奖名单。本抽奖程序可设置一次需要抽出几个幸运观众,最多可设置5名观从被抽出来。其它的参数主要是选择几名男观从和几保女观众的年龄段,在抽取之前你需要准备好这些待抽出的资料供程序读龋。
    2022-04-23 23:00:47下载
    积分:1
  • VC6.0 使用信号量Semaphore实现线程的同步
    VC6.0 使用信号量Semaphore实现线程的同步,使用信号量实现线程同步,设置访问保护对象的最多线程数为2,确定当前已经启动运行的线程数目,可以创建线程。   CWinThread* pThread=AfxBeginThread(ThreadProc,&m_Edit);//开辟一个工作线程,   int thread=0;//全局变量记录当前运行线程的数目   CSemaphore mySemaphore(2,2);//创建CSemaphore类对象   UINT ThreadProc(LPVOID pParam)//工作线程入口函数   {    CEdit *pedit=(CEdit*)pParam;    CString str;    thread++;//线程数目加1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    CSingleLock singlelock(&mySemaphore);//创建CSingleLock类对象    singlelock.Lock();//计数器初始值减1    MessageBox(NULL,"信号量控制访问资源线程数","提示",MB_ICONWARNING);//弹出对话框    thread--;//线程数目减1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    return 0;   }
    2022-02-20 19:37:49下载
    积分:1
  • VC6.0 多表分组统计查询销售数据
    VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。   提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
    2023-02-05 17:45:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载