MFC鮫泡CBrush窃
鮫泡凪糞頁匯倖崧殆寄弌葎8*8議了夕?喘謹倖屢揖議了夕斤撃液夕侘議坪何序佩野割。
MFC議CBrush窃撃廾阻鮫泡斤嵆?幹秀鮫泡扮?遍枠協吶匯倖鮫泡斤嵆?隼朔距喘CreateSolidBrush、CreateHatchBrush賜CreatePatternBrush痕方。辛參寡喘和中眉嶽圭塀幹秀鮫泡。
1) 幹秀汽弼鮫泡
2) 幹秀咐唹鮫泡
3) 幹秀梓夕鮫泡
旗鷹亟壓念中仟秀議垢殻SDITest嶄?響宀辛參貫利嫋戻工議全俊嶄資函。堋響殻會頁萩歌深廣瞥。
1) 協吶方象潤更
2) 協吶撹埀延楚
3) 壓View窃嶄兜兵晒紙夕曝囃
4) 壓View窃嶄兜兵晒鮫泡
5) 壓View窃嶄議OnDraw痕方嶄耶紗鮫夕旗鷹?旗鷹泌和?
6) 園咎旺塰佩殻會?伏撹潤惚泌夕4-3-1侭幣?
夕4-3-1喘音揖欠鯉音揖冲弼議鮫泡鮫夕丼惚夕
幣箭嶄處幣阻8嶽鮫永丼惚
MFC議CBrush窃撃廾阻鮫泡斤嵆?幹秀鮫泡扮?遍枠協吶匯倖鮫泡斤嵆?隼朔距喘CreateSolidBrush、CreateHatchBrush賜CreatePatternBrush痕方。辛參寡喘和中眉嶽圭塀幹秀鮫泡。
1) 幹秀汽弼鮫泡
BOOL CreateSolidBrush( COLORREF crColor //鮫泡冲弼 );
2) 幹秀咐唹鮫泡
BOOL CreateHatchBrush( int nIndex, //咐唹鮫泡窃侏 COLORREF crColor //鮫泡冲弼 );歌方nIndex峺協鮫泡議劔塀。辛參譜崔議劔塀泌和侭幣?
- HS_BDIAGONAL?燕幣45業?貧?貫恣崛嘔議咐唹(/////)?
- HS_CROSS?邦峠才換岷住我咐唹(+++++)?
- HS_DIAGCROSS?45業住我咐唹(XXXXX)?
- HS_FDIAGONAL?45業?和?徭恣崛嘔咐唹(\\\\\\)?
- HS_HORIZONTAL?邦峠咐唹(-----)?
- HS_VERTICAL?換岷咐唹(|||||)。
- crColor?峺協喘噐咐唹議泡徨議念尚弼。
3) 幹秀梓夕鮫泡
BOOL CreatePatternBrush( CBitmap* pBitmap //鮫泡了夕?峪聞喘恣貧叔議8*8寄弌 );
幣箭?聞喘GDI斤嵆CBrush紙夕幣箭
園亟匯倖殻會?膳楼匯和鮫泡議幹秀。貧中嗤伊嶽音揖欠鯉議鮫泡。旗鷹亟壓念中仟秀議垢殻SDITest嶄?響宀辛參貫利嫋戻工議全俊嶄資函。堋響殻會頁萩歌深廣瞥。
1) 協吶方象潤更
//協吶方象潤更
struct my_EclipseBrush{
//夕侘?塋焦瘕?
CRect rect;
//鮫永
CBrush brush;
};
2) 協吶撹埀延楚
my_EclipseBrush m_myEclipseBrush[8];
3) 壓View窃嶄兜兵晒紙夕曝囃
//兜兵晒紙夕曝囃
void CSDITestView::InitRectBrush()
{
//順中貧勣?塋?8倖夕侘?彈姥挫8倖曝囃?蛍曾佩?塋升c尋姉佻塋硝銚?
//夕侘恣嘔寂侯10倖崧殆?貧和寂侯20倖崧殆
//恣貧 嘔和
CRect rect(0,0,100,100);
for (int i=0;i<8;i++)
{
if (i<4)
{
//及匯佩夕侘
CRect rect;
rect.left=20+i*160;
rect.top=280;
rect.right=100+i*160;
rect.bottom=380;
m_myEclipseBrush[i].rect.CopyRect(rect);
}
else
{
//及屈佩夕侘
CRect rect;
rect.left=20+(i-4)*160;
rect.top=400;
rect.right=100+(i-4)*160;
rect.bottom=500;
m_myEclipseBrush[i].rect.CopyRect(rect);
}
}
}
4) 壓View窃嶄兜兵晒鮫泡
//兜兵晒鮫泡
void CSDITestView::InitBrush()
{
//幹秀汽弼鮫泡
m_myEclipseBrush[0].brush.CreateSolidBrush(RGB(255,0,0));
//幹秀咐唹鮫泡
m_myEclipseBrush[1].brush.CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,0));
m_myEclipseBrush[2].brush.CreateHatchBrush(HS_CROSS,RGB(0,0,255));
m_myEclipseBrush[3].brush.CreateHatchBrush(HS_DIAGCROSS,RGB(0,0,0));
m_myEclipseBrush[4].brush.CreateHatchBrush(HS_FDIAGONAL,RGB(255,0,255));
m_myEclipseBrush[5].brush.CreateHatchBrush(HS_HORIZONTAL,RGB(0,255,255));
m_myEclipseBrush[6].brush.CreateHatchBrush(HS_VERTICAL,RGB(0,255,255));
//幹秀叱採鮫永
CBitmap bmp;
//廣吭?宸戦勣枠紗墮匯倖了夕夕頭?圭隈念中厮将恂倖初府
bmp.LoadBitmapW(IDB_BRUSH);
m_myEclipseBrush[7].brush.CreatePatternBrush(&bmp);
}
5) 壓View窃嶄議OnDraw痕方嶄耶紗鮫夕旗鷹?旗鷹泌和?
CBrush* pOldBrush = NULL;
for (int i=0;i<8;++i)
{
//委輝念議鮫永僉秘DC
pOldBrush = cdc.SelectObject(&m_myEclipseBrush[i].brush);
//壓峺協議曝囃紙崙蓉垈?曝囃葎屎圭侘?咀遇糞縞葎垈
cdc.Ellipse(m_myEclipseBrush[i].rect);
//珊圻DC
cdc.SelectObject(pOldBrush);
}
6) 園咎旺塰佩殻會?伏撹潤惚泌夕4-3-1侭幣?
夕4-3-1喘音揖欠鯉音揖冲弼議鮫泡鮫夕丼惚夕
幣箭嶄處幣阻8嶽鮫永丼惚
- 1催?汽弼鮫泡?喘CreateSolidBrush痕方幹秀?
- 2催?HS_BDIAGONAL欠鯉?CreateHatchBrush痕方幹秀?
- 3催?HS_CROSS欠鯉?CreateHatchBrush痕方幹秀?
- 4催?HS_DIAGCROSS欠鯉?CreateHatchBrush痕方幹秀?
- 5催?HS_FDIAGONAL欠鯉?CreateHatchBrush痕方幹秀?
- 6催?HS_HORIZONTAL欠鯉?CreateHatchBrush痕方幹秀?
- 7催?HS_VERTICAL欠鯉?CreateHatchBrush痕方幹秀?
- 8催?叱採鮫泡?徭協吶了夕。