• 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);
    
  • 相关阅读:
    数据库设计的几个建议
    CAS单点登录和spring securtiy集成
    冒烟测试
    匠人精神
    iOS UIButton 设置图片文字垂直排列
    PHP字符串处理函数
    php 数组的常用函数
    Linux中常用操作命令
    yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)
    前端优化网站性能的14条规则
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2022917.html
Copyright © 2020-2023  润新知