登录
首页 » VC++源码 » VC++ MFC绘图打印技术范例

VC++ MFC绘图打印技术范例

于 2022-01-25 发布 文件大小:73.27 kB
0 162
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0 基于MFC的绘图及打印技术实例,附上了完整源码,打开程序后,可单击“测试”按钮,弹出绘图设置窗口,设置好参数绘图,然后打印出数据。方法步骤:   //创建画笔C++对象   CPen* pPenBlue = new CPen;   //创建画笔   pPenBlue->CreatePen(PS_SOLID,pDoc->m_thick,pDoc->m_color);   //选中当前画笔,并保存以前的画笔   CPen* pOldPen = pDC->SelectObject(pPenBlue);   POSITION posi=pDoc->m_PointList.GetHeadPosition();   while(posi)   {    CPoint point(pDoc->m_PointList.GetNext(posi));    pDC->Ellipse(point.x,point.y,point.x+    pDoc->m_long,point.y+pDoc->m_short);   }   //恢复旧画笔   pDC->SelectObject(pOldPen);   //删除新建的画笔对象   delete pPenBlue;   //设置映射模式   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*xLogPixPerInch/96;   yExt=winSize.cy*yLogPixPerInch/96;   //设定视口大小   pDC->SetViewportExt(xExt,yExt);

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

发表评论

0 个回复

  • VC++ 6.0 使用IPicture读取显示多种格式的图像(图片)并缩放
    VC++ 6.0 使用IPicture显示多种格式的图片,并可进行图片的放大和缩小等缩放操作,本实例中从全局内存中,创建IStream,从图像文件创建IPicture对象,读文件数据到内存。支持的文件类型有:bmp;*.gif;*.jpg;*.ico;*.emf;*.wmf;获取图像的长度和宽度代码如下:   long hmWidth;   long hmHeight;   m_lPciture->get_Width(&hmWidth);//图像的长度   m_lPciture->get_Height(&hmHeight);//图像的宽度   SIZE sz;   sz.cx = hmWidth;   sz.cy = hmHeight;   pDC->HIMETRICtoDP (&sz);//从OLE对象尺寸转换为像素值   sz.cx = (sz.cx * m_nScale) / 100;   sz.cy = (sz.cy * m_nScale) / 100;   RECT rc;   GetClientRect(&rc);   SetScrollSizes(MM_TEXT, sz);//设置滚动窗口的尺寸   // 显示图像   m_lPciture->Render(pDC->m_hDC,    0, //水平坐标位置    0, //垂直坐标位置    sz.cx, //水平尺寸    sz.cy, //垂直尺寸    0, //源图像的水平偏移    hmHeight,//源图像的垂直偏移    hmWidth,//复制源图像的水平长度    -hmHeight,//复制源图像的垂直长度    &rc);//显示图像的矩形区域
    2022-07-21 07:14:46下载
    积分: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++6.0实现ListCtrl列表控件拖放、整栏选择和显示网格
    VC++6.0实现列表控件的扩展风格——拖放、整栏选择和显示网格等功能,通过这个源代码你可以熟悉VC中的ListCtrl列表控件的多种用法,运行效果如示例截图所示,部分代码如下:   DWORD liststyle=m_ctlList.GetExtendedStyle();//获取列表控件的扩展风格m_ctlList.SetExtendedStyle(liststyle|LVS_EX_HEADERDRAGDROP|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//设置列表控件的新扩展风格   m_pImageList.Create(16, 16, ILC_COLOR, 2, 2);//创建图像列表   CBitmap bm;   bm.LoadBitmap(IDB_BITMAP1);//载入Bitmap资源   m_pImageList.Add(&bm, RGB(0, 0, 0));//添加到图像列表   bm.DeleteObject();   bm.LoadBitmap(IDB_BITMAP2);   m_pImageList.Add(&bm, RGB(0, 0, 0));   //初始化列表视   m_ctlList.SetImageList(&m_pImageList,LVSIL_SMALL);//设置ImageList   CString Field[2]={"性别","姓名"};//列表视的表头   for(int j=0;j
    2023-02-22 08:35:03下载
    积分:1
  • VC++ 实现对软件的简单加密(注册)功能
    VC++ 实现对软件的简单加密,本程序是通过C盘序列号来加密文件,实现软件的注册功能,软件号和C盘序列号同时正确才可验证,而C盘的序列号是唯一的,获得c盘序列号的代码如下:   DWORD VolumeSerialNumber;   GetVolumeInformation("c:",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);   VolumeSerialNumber^=0x12345678;//本机c盘序列号简单运算   m_usernum=VolumeSerialNumber;   UpdateData(false);   然后通过序列的判断,来验证加密是否正确,比如下边的代码来做加密验证:   UpdateData(true);   DWORD num;   num=m_usernum;   num^=0x1999aa98+12;//加密算法   if(!(num==m_serialnum))   {    AfxMessageBox("输入的序列号不正确!");    return;   }
    2022-11-07 22:05:03下载
    积分:1
  • VC 6.0 在程序中使用Calendar月历控件
    VC 6.0 在程序中使用月历控件,其实和日历插件差不多,核心是调用Windows系统的Calendar,做了些功能的自定义。   实现月历控件的部分设置代码:   m_MonthCalCtrl.SetColor(MCSC_TITLETEXT,RGB(0,128,128));//设置标题条上的文本颜色   m_MonthCalCtrl.SetColor(MCSC_TITLEBK,RGB(178,178,0));//设置标题条背景颜色   m_MonthCalCtrl.SetFirstDayOfWeek(0);//设置星期一为一周的开始   //设置日期   void CCalendarDlg::OnSetToday()   {    //更新变量    UpdateData(TRUE);    //构造日期变量    CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0);    m_MonthCalCtrl.SetCurSel(tm);//设置当前日期   }
    2023-08-04 01:15:03下载
    积分:1
  • VC++ 设置位置断点跟踪程序
    VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:   srand( (unsigned)time( NULL ) );//产生随机种子   int array[number];   CString str1,str2;   str1="原始顺序:";   for(int i=0;i  {    array[i]=rand();//设置条件断点    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,10,str1);//输出原始数组顺序   BubbleSort(array, 1, number);   str1="排序顺序:";   for( i=0;i  {    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,30,str1);//输出排序后的数组顺序
    2022-03-21 21:04:24下载
    积分:1
  • VC 钱箱控制程序示例
    VC++6.0 钱箱控制程序示例,程序以一个超市销售终端为例子,演示钱箱控制的基本操作、程序实现等。程序中将使用到m_List、CButton、SetPortOpen、SetCommPort等来实现钱箱控制。在编写类似的销售软件时,这个程序可借鉴。
    2022-06-21 11:22:49下载
    积分:1
  • VC++ 编程获取硬盘SMART信息
    VC++ 编程获取硬盘驱动器的SMART信息,SMART信息能对硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监测,及时分析并预报硬盘可能发生的问题。运行本源码测试前,请先打开Biso中的SMART信息监测开关。   本源码中的信息是英文的,使用时需要对照翻译过来,测试图如下所示。
    2022-06-03 05:08:07下载
    积分:1
  • VC 6.0 示波器
    一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
    2022-10-20 06:05:04下载
    积分:1
  • VC++ 限定框架窗口的大小和位置
    VC++ 限定框架窗口的大小和位置,无法移动且固定大小的SDI,用VC++编写实现这种固定窗口大小,且无法用鼠标拖动的窗口。窗口是不能改变大小的,窗口标题也不能被拖动,运行程序后,窗口的位置就已经固定,并不能移动和调整大小的操作。相关的代码:   CMenu* pTopMenu = GetSystemMenu(FALSE); //获取系统菜单   pTopMenu -> RemoveMenu(4,MF_BYPOSITION); //去除最大、最小化功能   pTopMenu -> RemoveMenu(2,MF_BYPOSITION); //去除改变尺寸功能   pTopMenu -> RemoveMenu(1,MF_BYPOSITION); //去除移动功能   if( !CFrameWnd::PreCreateWindow(cs) )    return FALSE;   //设置框架窗口的初始大小和位置   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 4;    cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;    cs.y = cs.cy / 4;    cs.x = cs.cx / 2;   return TRUE;
    2022-06-14 00:02:23下载
    积分:1
  • 696516资源总数
  • 106648会员总数
  • 8今日下载