zoukankan      html  css  js  c++  java
  • vc 画笔和画刷(转载)

    6,利用画笔改变线条颜色和类型:

    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);//恢复先前的画笔

    7,使用画刷(通常利用画刷去填充矩形区域):

    使用单色画刷

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

    使用位图画刷

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

    使用透明画刷

    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);//释放透明画刷
    说明:
    The GetStockObject function retrieves a handle to one of the predefined stock pens, brushes, fonts, or palettes. 
    HGDIOBJ GetStockObject(
      int fnObject   // type of stock object
    );

    Returns a pointer to a CBrush object when given a handle to a Windows HBRUSH object. 
    static CBrush* PASCAL FromHandle( HBRUSH hBrush );//FromHandle是一个静态方法,故可用CBrush::FromHandle()形式调用。

  • 相关阅读:
    luogu1525 [NOIp2011]关押罪犯 (并查集)
    luogu1084 [NOIp2012]疫情控制 (二分答案+倍增+dfs序)
    luogu1083 [NOIp2012]借教室 (二分答案+差分)
    bzoj4152 The Captain (dijkstra)
    luogu1081 [NOIp2012]开车旅行 (STL::multiset+倍增)
    suoi22 WRX知识树(dfs序)
    [HNOI2010]弹飞绵羊
    1596: [Usaco2008 Jan]电话网络
    [Tyvj Jan]青蛙跳荷叶
    [BZOJ1116] CLO
  • 原文地址:https://www.cnblogs.com/zhixing/p/1999314.html
Copyright © 2011-2022 走看看