登录
首页 » VC++源码 » VC++ 生成Brush笔刷程序

VC++ 生成Brush笔刷程序

于 2022-01-30 发布 文件大小:25.37 kB
0 273
下载积分: 2 下载次数: 1

代码说明:

VC++ 生成Brush笔刷程序,使用了三种方法创建笔刷,第一种和第二种使用构造函数,第三种 创建CBrush类的一个对象myBrush3,调用CreateBrushIndirect()函数。创建了纯色、斜纹、网状方格三种形式的笔刷。   void CCreateBrushView::OnDraw(CDC* pDC)   {    CCreateBrushDoc* pDoc = GetDocument();    ASSERT_VALID(pDoc);    // TODO: add draw code for native data here    // 第一种方法创建画刷    // 定义时调用构造函数    CBrush myBrush1(RGB(0,0,255));    CBrush* pOldBrush1 = pDC->SelectObject(&myBrush1);    pDC->Rectangle(100,150,250,400);    // 恢复画刷对象    pDC->SelectObject(pOldBrush1);    // 第二种方法创建画刷    // 定义时调用构造函数    CBrush myBrush2(HS_BDIAGONAL,RGB(255,0,0));    CBrush* pOldBrush2 = pDC->SelectObject(&myBrush2);    pDC->Rectangle(300,100,450,360);    // 恢复画刷对象    pDC->SelectObject(pOldBrush2);    // 第三种方法创建画刷    // 创建CBrush类的一个对象myBrush3    CBrush myBrush3;    // 设置LOGBRUSH结构;    LOGBRUSH lb;    lb.lbStyle = BS_HATCHED;    lb.lbColor = RGB(0,255,0);    lb.lbHatch = HS_CROSS;    // 调用CreateBrushIndirect()函数    myBrush3.CreateBrushIndirect(&lb);    CBrush* pOldBrush3 = pDC->SelectObject(&myBrush

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

发表评论

0 个回复

  • VC 向加密狗中写入数据
    VC 向加密狗中写入数据,与加密狗相关的例子。   DogAddr = 10; //设置起始地址   DogBytes = m_Data.GetLength(); //设置数据的长度   DogData = m_Data.GetBuffer(0); //设置写入的数据   if (WriteDog()==0)   MessageBox("数据写入成功");
    2022-07-14 23:43:14下载
    积分:1
  • VC 区域放大图像 鼠标位置放大
    VC++实现一个图片区域的放大,当鼠标悬停于图片的某一处时,放大显示该区域的图像,不过测试切现,本程序同时也可缩小图片,不过操作体验方面还需要改进,初始化时,按原来大小显示位图,鼠标移动的位置激活时,计算要放大的局部矩形的源图像位置和目标位置。如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数大于5,就继续减小放大倍数,然后进行放大显示,如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数小于150,就继续增加放大倍数,然后进行放大显示。
    2022-08-08 13:50:08下载
    积分:1
  • VC++ 小实验报告:Sin正弦波曲线绘制
    VC++ 小实验报告:Sin正弦波曲线绘制,包括了坐标方面的技巧和波形绘制方面的知识,都可以从本示例中学习到,源代码简单,运行效果请看截图所示。
    2023-08-02 06:25:02下载
    积分:1
  • VC 钱箱控制程序示例
    VC++6.0 钱箱控制程序示例,程序以一个超市销售终端为例子,演示钱箱控制的基本操作、程序实现等。程序中将使用到m_List、CButton、SetPortOpen、SetCommPort等来实现钱箱控制。在编写类似的销售软件时,这个程序可借鉴。
    2022-06-21 11:22:49下载
    积分:1
  • vc++ 弹窗拦截程序-阻止创建窗口源码
    VC6.0阻止弹窗程序 弹窗免疫,阻止创建窗口,基于MFC实现,本弹窗拦截程序主要是根据窗口标题来阻止的,启动程序后在编缉控件中输入窗口标题,如果要输入多个就用空格或回车隔开,然后按开始就可以在以此为标题对话框在刚建立时就被自动关闭,就像没看到它们出现一样.   如果要阻止所有窗口,可以去Hook类中把 WM_INITDIALOG改为WM_CREATE就可以了.这个程序主要用于学习,并没有为实际使用而做过多改善。
    2022-03-26 04:43:26下载
    积分:1
  • VC++ 遍历记录集的实现方法和代码
    VC++ 遍历记录集的例子,需要数据库配合,核心代码如下:   //连接数据库   OnInitADOConn();   //设置查询字符串   _bstr_t bstrSQL = "select * from employees order by 员工编号 desc";   //创建记录集指针对象实例   m_pRecordset.CreateInstance(__uuidof(Recordset));   //打开记录集   m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,    adLockOptimistic,adCmdText);   //遍历记录集   while(!m_pRecordset->adoEOF)   {    m_Grid.InsertItem(0,"");    m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));    m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));    m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));    m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));    //将记录集指针移动到下一条记录    m_pRecordset->MoveNext();   }   //断开数据库连接   ExitConnect();
    2022-09-02 14:45:03下载
    积分:1
  • VC++ 字体处理:创建4种类型的字体
    VC++ 字体处理:创建4种类型的字体,第一种方法:使用CreateFontIndirect创建字体,第二种方法:使用CreateFont创建字体;第三种方法:使用CreatePointFontIndirect创建字体;第四种方法: 使用CreatePointFont创建字体;
    2022-03-24 01:42:11下载
    积分:1
  • VC 使用LineDDA画有节点的连线实例
    本源码主要演示使用VC ++中的LineDDA画有节点的连线,画出的效果可参见截图所示。   //画线   pDC->MoveTo(10,10);   pDC->LineTo(300,300);   //使用LineDDA沿线按一定间隔画“0”   //这个回调例程将在线上每个点处被调用   //实现注解:使用lpData传递用于绘图的CDC对象的引用   CDC* pDC;   pDC = (CDC*)lpData;      if( X % 20 ==0)   {    pDC->TextOut(X,Y,_T("0"));   }
    2022-02-19 23:13:45下载
    积分:1
  • VC++ 创建DIB操作类——CDib的源程序代码
    VC++ 创建DIB操作类——CDib的源程序代码,这个类中创建了几个函数:1、用来绘制DIB对象的函数,2、按照DIB创建一个逻辑调色板的函数,3、计算DIB像素的起始位置,并返回指针的函数,4、返回DIB中图象的高度的函数,5、返回DIB中调色板的大小的函数,6、返回DIB中调色板颜色种数的函数等。   用于操作DIB的函数声明如下:   BOOL DrawDib(HDC, LPRECT,HGLOBAL, LPRECT,CPalette*);//显示位图   BOOL ConstructPalette(HGLOBAL,CPalette* );//构造逻辑调色板   LPSTR GetBits(LPSTR); //取得位图数据的入口地址   DWORD GetWidth(LPSTR);//取得位图的宽度   DWORD GetHeight(LPSTR);//取得位图的高度   WORD GetPalSize(LPSTR); //取得调色板的大小   WORD GetColorNum(LPSTR);//取得位图包含的颜色数目   WORD GetBitCount(LPSTR);//取得位图的颜色深度   HGLOBAL CopyObject(HGLOBAL);//用于复制位图对象   BOOL SaveFile(HGLOBAL , CFile&);//存储位图为文件   HGLOBAL LoadFile(CFile&);//从文件中加载位图   // 在对图象进行处理时,针对位图的字节宽度必须是4的倍数的这一要求,我们设计了函数GetRequireWidth,来处理这种比较特殊的情况:   int GetReqByteWidth(int ); //转换后的字节数GetRequireByteWidth   long GetRectWidth(LPCRECT );//取得区域的宽度   long GetRectHeight(LPCRECT);//取得区域的高度
    2022-03-09 13:34:37下载
    积分:1
  • VC++ 设置打印图形的位置
    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); //设定视口大小
    2022-01-27 16:52:24下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载