登录
首页 » VC++源码 » VC++ 三种方法创建不同类型的画刷

VC++ 三种方法创建不同类型的画刷

于 2023-04-20 发布 文件大小:25.55 kB
0 105
下载积分: 2 下载次数: 1

代码说明:

VC++ 三种方法创建不同类型的画刷,本源码实例 演示了VC++使用三种方法创建画笔,最核心的代码:   void CCreatePenView::OnDraw(CDC* pDC)   {    CCreatePenDoc* pDoc = GetDocument();    ASSERT_VALID(pDoc);    // TODO: add draw code for native data here    // 第一种方法创建画笔    for (int i=0; i < 7; i++)    {    // 定义时调用构造函数    CPen myPen1(PS_SOLID + i,1,RGB(255,0,0));    CPen *pOldPen1 = pDC->SelectObject(&myPen1);    pDC->MoveTo(10,20*i+10);    pDC->LineTo(750,20*i+10);    // 恢复画笔对象    pDC->SelectObject(pOldPen1);    }    // 第二种方法创建画笔    for (int j = 0;j < 7; j++)    {    CPen myPen2; // 创建CPen类的一个对象myPen2    // 调用CreatePen()函数创建画笔    myPen2.CreatePen(PS_SOLID,j,RGB(0,255,255));    CPen *pOldPen2 = pDC->SelectObject(&myPen2);    pDC->MoveTo(10,180+20*j);    pDC->LineTo(750,180+j*20);    // 恢复画笔对象    pDC->SelectObject(pOldPen2);    }    // 第三种方法创建画笔    // 创建CPen类的一个对象myPen3    CPen myPen3;    // 设置LOGPEN结构;    LOGPEN lp ;    lp.lopnColor = RGB(255,0,255);    lp.lopnStyle = PS_SOLID ;    lp.lopnWidth.x = 8 ;    // 调用CreatePen

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

发表评论

0 个回复

  • VC利用OpenGL绘制NURBS曲线
    VC++利用OpenGL绘制NURBS曲线,程序将进行缓冲区交换,交换缓冲区,运行后将生成一个三维曲线图,模拟NURBS曲线效果,最终效果请参见示例图所示。
    2022-01-26 07:51:48下载
    积分:1
  • VC++ 使用IN引入子查询限定查询范围
    VC++ 使用IN引入子查询限定查询范围的方法+源代码实例,用以查询在指定条件区间中的数据,比如具体到本例子中,查询收入在1000到3000之间的员工数据,用到了子查询的方法,通过本例子源码的学习,你可学习到VC++基本的数据库连接方法和in子查询的方法,当然子查询有些高级,本源码还算简单。
    2022-10-30 06:05:03下载
    积分:1
  • VC++ 实现屏幕取词功能的鼠标钩子
    VC++实现类似早期金山词霸屏幕取词功能的鼠标钩子HOOK,鼠标HOOK,钩子的实现例子附上源码,里面包括了两个源码:   Mousehook为类似金山词霸屏幕取词功能的鼠标钩子   TestMouseHook文件夹内为鼠标钩子生成DLL的源码例子   在调用这个钩子时,要把MouseHook文件夹内生成的DLL拷贝至TestMousehook的BIN目录下。   调用钩子时,要做相关设置:   #pragma data_seg("mydata")   HWND glhPrevTarWnd = NULL; //上次鼠标所指的窗口句柄   HWND glhDisplayWnd = NULL; //显示目标窗口标题编辑框的句柄   HHOOK glhHook = NULL; //安装的鼠标勾子句柄   HINSTANCE glhInstance = NULL; //DLL实例句柄   #pragma data_seg()   还有安装钩子并设定接收显示窗口句柄、设置显示目标窗口标题编辑框的句柄、得到光标(point)所在点的窗口句柄、得到整个窗口在屏幕上的矩形框位置等。
    2023-05-25 03:10:04下载
    积分:1
  • VC++ 图像压缩:将BMP文件压缩成JPG文件
    VC++ 图像压缩:将BMP文件压缩成JPG文件,在完成图片压缩的同时,转换图片的格式了,完成这些功能借助了一款外部的DLL文件,JpgDll.dll,因此在编译时请确保此文件存在。   操作方式也挺简单,如图所示,打开指定的BMP文件,然后单击“压缩”按钮,操作完成单击“保存”即可。
    2022-02-15 22:47:52下载
    积分:1
  • 简单演示多线程的创建和使用VC++
    一个VC++ Win32程序执行单元——多线程 的创建和使用例子,测试时请在CMD控制台中运行Exe,之后看到的运行结果如图所示,代码部分,请参考以下:   HANDLE CreateThread(    LPSECURITY_ATTRIBUTES lpThreadAttributes, // 安全    DWORD dwStackSize, // 堆栈大小    LPTHREAD_START_ROUTINE lpStartAddress, // 起始地址(函数名)    LPVOID lpParameter, // 参数    DWORD dwCreationFlags, // 是否启动    LPDWORD lpThreadId // 新生成的线程ID   );   int main(int argc, char* argv[])   {    HANDLE hThreadProc;    DWORD dwThreadId;    hThreadProc=CreateThread(    NULL,    NULL,    ThreadProc,    NULL,    0, //使线程立即运行    &dwThreadId    );    printf("Now another thread has been created,ID=%d ",dwThreadId);    //等待新线程运行结果    ::WaitForSingleObject(hThreadProc,INFINITE);    ::CloseHandle(hThreadProc);    return 0;   }
    2022-03-26 13:48:22下载
    积分:1
  • 向新手演示VC++中的ListView用法 附
    向新手演示VC++中的ListView用法 附源码,这个虽然简单,不过对于刚接触VC++编程的新手来说,可以很好的熟悉ListView组件在VC++中的应用方法,本程序编写好后,运行编译后的程序,界面效果如图所示。
    2022-06-28 09:08:10下载
    积分: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++ 读取SQL Server数据库结构
    VC++ 读取SQL Server数据库结构,读取指定数据库指定数据表的数据结构,演示中仅是读取出字段名、字段类型和字段类型取值大小,只是演示一种获取字段数据的方法:   m_grid.SetExtendedStyle(LVS_EX_FLATSB    |LVS_EX_FULLROWSELECT    |LVS_EX_HEADERDRAGDROP    |LVS_EX_ONECLICKACTIVATE    |LVS_EX_GRIDLINES);   m_grid.InsertColumn(0,"字段名",LVCFMT_LEFT,100,0);   m_grid.InsertColumn(1,"类型",LVCFMT_LEFT,100,1);   m_grid.InsertColumn(2,"大小",LVCFMT_LEFT,100,2);
    2022-07-17 13:15:00下载
    积分:1
  • VC++ 使用滚动条和进度条进行范围设置
    VC++ 使用滚动条和进度条进行范围设置,实现滚动条与进度条的联动,当拖动滚动条时,进度条的进度会随着滚动条的位置变化而变化,适时显示进度状态。除了水平的滚动条外,右侧是一个垂直纵向的滚动条和进度条,具有同样的功能,很好的模拟了两者的联动。   编写代码时,可以这样定义滚动条和进度条的参数:   m_crlScrollH.SetScrollRange(0,100);//设置水平滚动范围   m_crlScrollV.SetScrollRange(0,100);//设置垂直滚动范围   m_crlScrollH.SetScrollPos(0);//设置水平滚动控件初始值   m_crlScrollV.SetScrollPos(0);//设置垂直滚动控件初始值   m_ctlProgressH.SetRange(0,100);//设置水平进度条的范围   m_ctlProgressV.SetRange(0,100);//设置垂直进度条的范围   m_ctlProgressH.SetPos(0);//设置水平进度条的初始位置   m_ctlProgressV.SetPos(0);//设置垂直进度条的初始位置   以上代码并不是完整的,完整代码请下载源码包。
    2022-04-27 16:24:44下载
    积分:1
  • VC++ 图书管理系统含 SQLSERVER数据库
    一套完整的VC++ 图书管理系统源码,含 SQLSERVER数据库,数据库在database目录下,测试前请附加并连接好。源代码在源程序目录内,很完整,可在VC++6.0环境下顺利编译。运行效果如下图所示。   本套图书管理系统功能主要有:基本信息、图片管理、库存管理、查询管理、系统管理、系统登录、口令管理、系统人员管理等。每一个模块下都有很多子模块,界面设计也是很符合用户习惯的。
    2023-09-07 13:35:03下载
    积分:1
  • 696518资源总数
  • 105559会员总数
  • 1今日下载