SelectObject(&pen[1]);//载入虚线画笔CPointpts[]={CPoint(190,20),CPoint(200,60),CPoint(270,40),CPoint(210,80),CPoint(250,100),CPoint(300,30),CPoint(310,80)};pDC->Polyline(pts,7);//绘制多端折线pDC->TextOut(180,115,"绘制多段折线");//使用Pie和Arc输出饼图和弧形pDC->SelectObject(&pen[2]);//载入点线画笔pDC->Ellipse(10,140,160,240);//绘制椭圆pDC->SelectObject(&pen[3]);//载入点划线画笔pDC->Pie(20,150,150,230,160,160,10,160);pDC->SelectObject(&pen[4]);//载入双点划线画笔pDC->Arc(20,150,150,230,10,220,160,220);pDC->TextOut(10,245,"绘制椭圆、弧形和饼图");pDC->SetTextColor(RGB(0,0,255));pDC->TextOut(220,200,"使用不同的画笔绘制各种图形");//恢复设备上下文的原有画笔pDC->SelectObject(pOldPen);//删除所创建的画笔资源for(inti=0;i<5;i++)pen[i].D-IMDN开发者社群-imdn.cn"> SelectObject(&pen[1]);//载入虚线画笔CPointpts[]={CPoint(190,20),CPoint(200,60),CPoint(270,40),CPoint(210,80),CPoint(250,100),CPoint(300,30),CPoint(310,80)};pDC->Polyline(pts,7);//绘制多端折线pDC->TextOut(180,115,"绘制多段折线");//使用Pie和Arc输出饼图和弧形pDC->SelectObject(&pen[2]);//载入点线画笔pDC->Ellipse(10,140,160,240);//绘制椭圆pDC->SelectObject(&pen[3]);//载入点划线画笔pDC->Pie(20,150,150,230,160,160,10,160);pDC->SelectObject(&pen[4]);//载入双点划线画笔pDC->Arc(20,150,150,230,10,220,160,220);pDC->TextOut(10,245,"绘制椭圆、弧形和饼图");pDC->SetTextColor(RGB(0,0,255));pDC->TextOut(220,200,"使用不同的画笔绘制各种图形");//恢复设备上下文的原有画笔pDC->SelectObject(pOldPen);//删除所创建的画笔资源for(inti=0;i<5;i++)pen[i].D - IMDN开发者社群-imdn.cn">
登录
首页 » VC++源码 » VC++ 使用不同的画笔绘制图形

VC++ 使用不同的画笔绘制图形

于 2022-02-13 发布 文件大小:19.26 kB
0 133
下载积分: 2 下载次数: 1

代码说明:

VC++ 使用不同的画笔绘制图形,演示绘制矩形、绘制多段折线、绘制椭圆、弧形和饼图,使用不同的画笔类型来绘制不同的几何图形,演示了一些VC++图形绘制的基础技巧使用方法。下面的代码演示了如何绘制出这些图形:   //以实线画笔绘制矩形   pOldPen=pDC->SelectObject(&pen[0]);   pDC->Rectangle(10, 10, 110, 110);   pDC->TextOut(10, 115, "绘制矩形");   //使用虚线画笔和函数Polyline输出多段折线   pDC->SelectObject(&pen[1]); //载入虚线画笔   CPoint pts[]={CPoint(190, 20), CPoint(200, 60), CPoint(270, 40), CPoint(210, 80),   CPoint(250, 100), CPoint(300, 30), CPoint(310, 80)};   pDC->Polyline(pts, 7); //绘制多端折线   pDC->TextOut(180, 115, "绘制多段折线");   // 使用Pie和Arc输出饼图和弧形   pDC->SelectObject(&pen[2]); //载入点线画笔   pDC->Ellipse(10, 140, 160, 240);//绘制椭圆   pDC->SelectObject(&pen[3]); //载入点划线画笔   pDC->Pie(20, 150, 150, 230, 160, 160, 10, 160);   pDC->SelectObject(&pen[4]);//载入双点划线画笔   pDC->Arc(20, 150, 150, 230, 10, 220, 160, 220);   pDC->TextOut(10, 245, "绘制椭圆、弧形和饼图");   pDC->SetTextColor(RGB(0,0,255));   pDC->TextOut(220, 200, "使用不同的画笔绘制各种图形");   //恢复设备上下文的原有画笔   pDC->SelectObject(pOldPen);   //删除所创建的画笔资源   for (int i=0; i

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

发表评论

0 个回复

  • 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 扫描仪控制程序
    这是一个在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++ 图像压缩:将BMP文件压缩成JPG文件
    VC++ 图像压缩:将BMP文件压缩成JPG文件,在完成图片压缩的同时,转换图片的格式了,完成这些功能借助了一款外部的DLL文件,JpgDll.dll,因此在编译时请确保此文件存在。   操作方式也挺简单,如图所示,打开指定的BMP文件,然后单击“压缩”按钮,操作完成单击“保存”即可。
    2022-02-15 22:47:52下载
    积分:1
  • VC++ DAO 操作Access的测试例子
    VC++ DAO 操作Access的测试例子,本演示是VC++使用DAO连接Access数据库的一个测试程序,学习如何使用DAO操作Access,通过添加一个数据库记录来演示添加、删除、插入数据的例子,比较简单,面向VC++初学者的一个例子。部分代码分享如下:   // 取得被选择记录的索引   nIndexInFieldList = m_listctrlInfo.GetNextSelectedItem(pos);   // 高亮被的选择记录   m_listctrlInfo.SetFocus();   // 从文件中把当前行记录删除   // 获取数据库文件   m_csDatebaseFile = GetDatabaseFile();   // 判断数据库是否已经打开   if (!m_bIsOpenDB)   {    db.Open(m_csDatebaseFile);    // 判断数据集是否已经打开    if (!m_bIsOpenDSN)    {    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM PositionTable",NULL);    }   }   m_nTotal = m_listctrlInfo.GetItemCount();   m_nCurrentIndex = ConvertIndex(nIndexInFieldList,m_nTotal - 1);   RecSet.MoveFirst();   RecSet.Move(long(m_nCurrentIndex));   RecSet.Delete();   ClearContent();   // 删除被的选择记录   m_listctrlInfo.DeleteItem( nIndexInFieldList );   // 显示删除数据成功的信息   GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T("删除数据成功!"));   // 再次取得第一条记录的位置   POSITION pos = m_listctrlInfo.GetFirstSelectedItemPosition();   UINT flag = LVIS_SELECTED|LVIS_FOCUSED;
    2022-04-28 15:09:11下载
    积分:1
  • VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化
    VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化,这个具体点就是,窗口中的边框和按钮等元素,会随着窗口的变大自动变大,并保持原有的比例,调用了CSelfResizeWindow::Rectify()来实现,我觉得是个很实用的窗体设计技巧。关于本源代码的几点说明:   自定义类CSelfResizeWindow实现窗口和控件的自适应,根据屏幕尺寸调整大校   使用步骤 :   1. 使需要自适应的窗口类继承于类CSelfResizeWindow,在OnInitDialog()中调用    __super::Init(this, 1, 3000);(其中1和3000是资源ID的范围,在Resource.h    中用宏定义的,Init函数的参数根据情况确定。)   2. 给窗口类添加OnSize()消息响应函数,在OnSize()函数    中调用__super::Rectify();即可。
    2023-01-25 01:40:04下载
    积分:1
  • VC++ 6.0 GetTickCount() 高精度计时功能的实现实例
    本源码演示在VC++ 6.0环境下实现高精度计时功能,可在此基础上修改完善成一个毫秒级计时器。运行编译文件后,单击窗口中的按钮,即可激活计时功能,在弹出的窗口中显示计时时间,以毫秒计,请参见截图。计时部分的具体实现代码请参考以下代码:   void CDemoDlg::OnTest()   {    //开始时间    DWORD dwStart = GetTickCount();    for (int i = 0; i < 10000; i++)    {    for (int j = 0; j < 10000; j++)    {    }    }    //结束时间    DWORD dwStop = GetTickCount();    //时间间隔    DWORD dwElapse = dwStop - dwStart;    CString strText = _T("");    strText.Format(_T("时间间隔:%d毫秒"), dwElapse);    AfxMessageBox(strText);   }
    2022-07-22 05:40:03下载
    积分:1
  • VC++俄罗斯方块 带声音
    VC++俄罗斯方块源码 带声音,操作说明:利用键盘控制方块的移动: ↑ 方块旋转 ↓ 直接落下 ←向左移动 → 向右移动。消除行数已经超过10级,游戏结束。   游戏具体玩法:选中游戏界面的"游戏"|"游戏开始"来开始游戏,每当用方块填充完一行或者多行时,则可以消除当前这一行或者多行的方块,并得到一定积分。当方块堆放的高度超过游戏所规定的最大高度,即游戏界面最上面的边界。则认定游戏结束。开始时将要出现方块没有生成,其不能赋值给当前方块数组。   判碰撞,遇到了边界或者有其他方块档住我觉得这个方法对编写游戏很不错,碰撞检测的例子。
    2022-02-12 00:45:04下载
    积分:1
  • VC 随机数选号程序
    VC 随机数选号程序 源代码,窗口中的每一个文本框对应一个随机数数组,当点击开始按钮后,这些数组各自为战,分别生成不同的随机数,当用户点击停止后,各个文本框中的随机数是不同的,由此可生成一个随机选号程序。   你可学习到生成随机数的线程、更新编辑框数字的线程、生成随机数、开始选号、更新按钮状态等相关的事件处理操作。
    2022-03-12 18:31:14下载
    积分:1
  • VC++ 图书管理系统含 SQLSERVER数据库
    一套完整的VC++ 图书管理系统源码,含 SQLSERVER数据库,数据库在database目录下,测试前请附加并连接好。源代码在源程序目录内,很完整,可在VC++6.0环境下顺利编译。运行效果如下图所示。   本套图书管理系统功能主要有:基本信息、图片管理、库存管理、查询管理、系统管理、系统登录、口令管理、系统人员管理等。每一个模块下都有很多子模块,界面设计也是很符合用户习惯的。
    2023-09-07 13:35:03下载
    积分:1
  • VC++ 小实验报告:Sin正弦波曲线绘制
    VC++ 小实验报告:Sin正弦波曲线绘制,包括了坐标方面的技巧和波形绘制方面的知识,都可以从本示例中学习到,源代码简单,运行效果请看截图所示。
    2023-08-02 06:25:02下载
    积分:1
  • 696518资源总数
  • 105559会员总数
  • 1今日下载