zoukankan      html  css  js  c++  java
  • MFC 绘图知识 画刷画笔 及各种图形

    1.利用画笔改变线条颜色和类型:
    CPen pen(PS_DOT,1,RGB(0,255,0));//构造画笔对象
    CClientDC dc(this);CPen *pOldPen=dc.SelectObject(&pen);//将画笔选入 DC
    dc.MoveTo(m_ptOrigin);
    dc.LineTo(point);
    dc.SelectObject(pOldPen);//恢复先前的画笔

    2.使用画刷(通常利用画刷去填充矩形区域):
    使用单色画刷
    CBrush brush(RGB(255,0,0));//构造画刷对象
    CClientDC dc(this);
    dc.FillRect(CRect(m_ptOrigin,point),&brush);//用指定的画刷去填充矩形区域

    3.使用位图画刷
    CBitmap bitmap;//构造位图对象(使用前需要初试化)
    bitmap.LoadBitmap(IDB_BITMAP1);//初试化位图对象
    CBrush brush(&bitmap);//构造位图画刷
    CClientDC dc(this);
    dc.FillRect(CRect(m_ptOrigin,point),&brush);//用指定的位图画刷去填充矩形区域

    4.使用透明画刷
    CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));//获取透
    明画刷对象指针
    CClientDC dc(this);
    CBrush *pOldBrush=dc.SelectObject(pBrush);//将透明画刷选入 DC
    dc.Rectangle(CRect(m_ptOrigin,point));
    dc.SelectObject(pOldBrush);//释放透明画刷

    注意点:
     
    1)静态方法不属于某一个具体对象,而属于类本身,在类加载的时候就已经为类静态方法
    分配了代码去,故可用 CBrush::FromHandle()形式调用。
    2)静态方法中,不能引用非静态的数据成员和方法。
    3)静态数据成员需要在类外单独做初始化,形式如:  变量类型  类名::变量名=初始值

  • 相关阅读:
    王建军_百度百科
    腾讯研究院关于研究院
    创业公司3Gear Systems利用Kinect打造未来人机交互体验 | 36氪
    KVM切换器_互动百科
    保荐人考试
    Engadget 中文版征人启事 《 they're hiring
    吸血僵尸惊情四百年
    小霸王手机
    ARM、高通、德州仪器这三家芯片企业该怎么区分和评价?
    《美丽心灵》兼谈纳什均衡理论
  • 原文地址:https://www.cnblogs.com/yuqilihualuo/p/2979405.html
Copyright © 2011-2022 走看看