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 72
下载积分: 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++写的登录程序
    VC++基于VC++写的登录程序,结合数据库实现的,是一个简单数据库程序,测试前请做以下工作:   1.配置ODBC数据源   2.新建CAdminDatasets类(方便登录对话框的调用),新建过程当中以CRecordset为基类,数据源选中对应数据库,然后选中对应用户登录表   3.新建登录对话框,以CDialog为基类。然后按程序代码执行登录检查
    2022-08-22 14:43:26下载
    积分:1
  • VC++ 制作的 TextProgress文本进度条样例
    这是VC++ 制作的 TextProgress文本进度条样例,可自定义步长和进度条数字变化范围,根据窗口中的提示设置相关参数后,即可看到进度条的变化效果,下面是具体的实现代码:   void CTextProgressDlg::OnButtonStart()   {    UpdateData();    m_ctrProgressBar.SetPos(0);//设定当前位置    m_ctrProgressBar.SetRange(m_nRangeFrom,m_nRangeTo); //设定范围    m_ctrProgressBar.SetStep(m_nStep);//设定步长    m_ctrProgressBar.SetShowText(TRUE);//允许显示文字    for (int i = 0; i
    2022-11-21 13:20:03下载
    积分:1
  • VC++ DataGrid ADODC Trasform分析数据的例子
    VC++ Trasform分析数据的例子,涉及到DataGrid ADODC等控件的使用方法,测试前请先添加好数据库。程序调试时请注意以下几项:   (1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_TRASFORMDATA_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。   (2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
    2023-06-03 16:05:03下载
    积分:1
  • VC++ 使用CDib类实现显示与保存BMP文件
    VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:   m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像   if(m_hDIB==NULL)   {   AfxMessageBox("图像格式不正确!");// 提示出错   return FALSE;   }   SetDib();// 初始化DIB   if (m_hDIB == NULL)// 判断读取文件是否成功   {   AfxMessageBox("读取图像时出错");// 提示出错   return FALSE;// 返回FALSE   }   SetPathName(lpszPathName);// 设置文件名称   SetModifiedFlag(FALSE);// 初始化脏标记为FALSE   return TRUE;// 返回TRUE
    2022-02-26 00:19:37下载
    积分:1
  • VC 电话录音的实现
    这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话的三种状态,即:内线、外线、悬空。在外线来电话状态,可以启动录音程序,摘机,开始录音,挂机停止录音,录音过程中判断电话是否挂机,双保险。
    2023-06-20 11:50:03下载
    积分:1
  • C语言写的超强悍音乐播放器
    这是一款用C写的播放器,超强超漂亮,C语言写的超强悍音乐播放器源代码,先来看运行截图,播放器的界面那可是相当漂亮吧。而且播放功能也很强大。程序主界面经过了美化,运行后在Windows托盘处显示图标,这个程序是大家学习C多媒体编程绝佳的范例,对C感兴趣的不要错过哦。
    2022-02-15 07:45:57下载
    积分:1
  • VC++ WeiXinPay微信扫描二维支付相关
    VC++ WeiXinPay微信扫描二维码支付相关源码,这是个VC.NET源码项目,使用了qrencode生成了二维码,本微信支付项目功能包括了生成二维码、结果签名验证、下单测试、生成15位随机字符串等,有一些公共支付接口部分,需要用时候,自己修改:   CString g_strAPIKey("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");//*改* 32位的APIkey   CString g_strAppId("xxxxxxxxxxxxxxxxxx");//*改* 用户的APPID 貌似是18位的   CString g_strBody("刘隽曦的支付测试");//*改* 商品名   CString g_strMchId("xxxxxxxxxx");//*改* 商户号貌似10位   CString g_strIp("192.168.0.136");//*改* 本机IP   int g_nTotalFree = 1;//*改*商品价格 分   本源代码仅供支付,有时候微信支付接口在变化,可能会导致程序不可用。
    2022-03-24 04:25:36下载
    积分:1
  • 毫秒级定时器 VC范例及
    VC++编写的毫秒级定时器实例,上一次的终止值变成新的起始值,发送消息通知对话框该更新时间了。   //更新时间   void CMilliSecondDlg::OnUpdateTime()   {    struct _timeb timebuffer;    char *timeline;    //获得毫秒级的时间    _ftime( &timebuffer );    timeline = ctime(&(timebuffer.time));    //格式化时间    m_strTime.Format("当前时间是:%.19s.%hu %s", timeline, timebuffer.millitm, &timeline[20]);    UpdateData(FALSE);   }
    2023-05-15 18:00:02下载
    积分:1
  • VC++ 6.0 使用消息实现线程通信
    线程通信:使用消息实现线程通信,一个了解多线程与消息通信的例子,以下是实现的主要代码:   LRESULT CThreadCommunicationDlg::OnDisplayResult(WPARAM wParam,LPARAM lParam)   {    int nResult = (int)wParam;    SetDlgItemInt(IDC_STATIC_RESULT,nResult,FALSE);    return 0;   }   void CThreadCommunicationDlg::OnButtonCalculate()   {    m_pCalculateThread=    (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));    Sleep(200);    m_pCalculateThread->PostThreadMessage(WM_CALCULATE,m_nLastOperand,NULL);   }   完整的源代码请下载本源码包。
    2022-02-02 07:06:27下载
    积分:1
  • VC++ 使用互斥对象(Mutex)实现线程同步
    VC++ 使用互斥对象(Mutex)实现线程同步,使用临界区对象实现读、写线程的同步,通过一个写线程和读线程的实例,来演示Mutex实现的线程同步功能。用完后销毁读线程,如下示:   CSingleLock singleLock(&mutex);   singleLock.Lock();   TerminateThread(g_ReadHnd, 0);//终止读线程   singleLock.Unlock();//释放资源   m_ReadEdit.SetWindowText("终止读线程");   GetDlgItem(IDC_STARR)->EnableWindow(true);//启动按钮生效   GetDlgItem(IDC_STOPR)->EnableWindow(false);//停止按钮无效
    2022-04-11 14:27:41下载
    积分:1
  • 696522资源总数
  • 104027会员总数
  • 45今日下载