CBrush,CFont,CPen
2011-04-20 21:19 Clingingboy 阅读(1453) 评论(0) 编辑 收藏 举报
一.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));
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);