zoukankan      html  css  js  c++  java
  • CBrush,CFont,CPen

    一.CBrush创建方法

    1.CreateSysColorBrush

    Creates a brush that is the default system color.

    CBrush brush;
    brush.CreateSysColorBrush(COLOR_BTNFACE);
    

    2.CreateSolidBrush
    Initializes a brush with the specified solid color.

    CBrush brush;
    brush.CreateSolidBrush(RGB(255,0,0));
    

    3.CreatePatternBrush(ImageBrush)
    Initializes a brush with a pattern specified by a bitmap.

    WORD HatchBits[8] = { 0x11, 0x22, 0x44, 0x88, 0x11,
       0x22, 0x44, 0x88 };
    
    // Use the bit pattern to create a bitmap.
    
    CBitmap bm;
    bm.CreateBitmap(8,8,1,1, HatchBits);
    
    // Create a pattern brush from the bitmap.
    
    CBrush brush;
    brush.CreatePatternBrush(&bm);
    

    4.CreateHatchBrush(阴影图案)
    Initializes a brush with the specified hatched pattern and color.

    CBrush brush;
    brush.CreateHatchBrush(HS_BDIAGONAL, RGB(255, 0, 0));
    

    image

    5.CreateBrushIndirect(传入一个结构体)

    LOGBRUSH logBrush;
    logBrush.lbStyle = BS_HATCHED;
    logBrush.lbColor = RGB(0, 192, 192);
    logBrush.lbHatch = HS_CROSS;
    
    // Declare an uninitialized CBrush ...
    
    CBrush brush;
    // ... and initialize it with the LOGBRUSH.
    
    brush.CreateBrushIndirect(&logBrush);
    

    二.CFont创建方法

    1.CreatePointFont

    This function provides a simple way to create a font of a specified typeface and point size.

    m_pCFont = new CFont();
    m_pCFont->CreatePointFont(90,_T("Tahoma"));
    

    2.CreateFontIndirect

    Initializes a CFont object with the characteristics given in a LOGFONT structure.

    m_pCFont = new CFont();
    m_pCFont->CreatePointFont(90,_T("Tahoma"));
    
    // Initialize font
    LOGFONT    LogFont;
    m_pCFont->GetLogFont(&LogFont);
    LogFont.lfWeight = FW_HEAVY;
    m_pCFont->DeleteObject();
    m_pCFont->CreateFontIndirect(&LogFont);
    

    三.CPen使用方法

    1.CreatePen

    CPen myPen1, myPen2;
    
    // Create a solid red pen of width 2.
    
    myPen1.CreatePen(PS_SOLID, 2, RGB(255,0,0));
    
    // Create a geometric pen.
    
    LOGBRUSH logBrush;
    logBrush.lbStyle = BS_SOLID;
    logBrush.lbColor = RGB(0,255,0);
    myPen2.CreatePen(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);  
    

    2.CreatePenIndirect

    LOGPEN logpen;
    CPen   cMyPen;
    
    // Get the LOGPEN of an existing pen.
    
    penExisting.GetLogPen(&logpen);
    
    // Change the color to red and the width to 2.
    
    logpen.lopnWidth.x = 2;
    logpen.lopnColor = RGB(255, 0, 0);
    
    // Create my pen using the new settings.
    
    cMyPen.CreatePenIndirect(&logpen);
    
  • 相关阅读:
    8款最新CSS3表单 环形表单很酷
    8款给力HTML5/CSS3应用插件 可爱的HTML5笑脸
    分享10款效果惊艳的HTML5图片特效
    9款极具创意的HTML5/CSS3进度条动画
    分享9款最新超酷HTML5/CSS3应用插件
    7款HTML5精美应用教程 让你立即爱上HTML5
    (转)整理 node-sass 安装失败的原因及解决办法
    分析Vue框架源码心得
    Vue中的render函数随笔
    微信小程序商业级实战
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2022917.html
Copyright © 2011-2022 走看看