MFC鮫永CPen窃
MFC議CPen窃撃廾阻鮫永斤嵆?凪嶄議撹埀痕方CreatePen糞孖幹秀鮫永議孔嬬?痕方圻侏泌和?
児云冲弼眉嶽?碕駄清?凪麿議冲弼脅頁喇宸眉嶽児云議冲弼怏撹。箭泌?碕RGB?255,0,0?、駄RGB?0, 255,0?、清RGB?0,0, 255?、燃頚碕 #FFB6C1 255,182,193、從弼 #800080 128,0,128吉。
旗鷹亟壓念中仟秀議垢殻SDITest嶄?響宀辛參貫利嫋戻工議全俊嶄資函。堋響殻會頁萩歌深廣瞥。
1) 協吶方象潤更?
2) 協吶撹埀延楚
3) 壓View窃嶄兜兵晒紙夕曝囃?
4) 壓View窃嶄兜兵晒鮫永?
5) 壓View窃嶄議OnDraw痕方嶄耶紗鮫夕旗鷹?旗鷹泌和?
6) 園咎旺塰佩殻會?伏撹潤惚泌夕4-2-1侭幣?
夕4-2-1 喘音揖欠鯉音揖冲弼議鮫永鮫夕丼惚夕
幣箭嶄處幣阻8嶽鮫永丼惚
BOOL CreatePen( int nPenStyle, //鮫永欠鯉 int nWidth, //鮫永錐業 COLORREF crColor //鮫永冲弼 );匯稀音壅俶勣鮫永?芝誼喘DeleteObject痕方繍凪評茅。
譜崔?侏
幹秀鮫永議痕方嶄?nPenStyle歌方燕幣鮫永欠鯉?辛參譜崔和双峙岻匯。nPenStyle ------ Long?峺協鮫永劔塀?辛參頁和峰械方岻匯?- PS_SOLID ? 鮫永鮫竃議頁糞?。
- PS_DASH? 鮫永鮫竃議頁倡?(nWidth駅倬音寄噐1)。
- PS_DOT? 鮫永鮫竃議頁泣?(nWidth駅倬音寄噐1)。
- PS_DASHDOT?鮫永鮫竃議頁泣皿?(nWidth駅倬音寄噐1)。
- PS_DASHDOTDOT? 鮫永鮫竃議頁泣-泣-皿?(nWidth駅倬音寄噐1)。
- PS_NULL? 腎鮫永?鮫永音嬬鮫夕。
- PS_INSIDEFRAME?坪迦糞?鮫永 喇蓉垈、裳侘、垈叔裳侘、往夕參式碗吉伏撹議撃液斤嵆崇扮?鮫?錐業?坪制婢。泌峺協議彈鳩RGB冲弼音贋壓?祥序佩橋強侃尖。
譜崔?錐
幹秀鮫永議痕方嶄?nWidth燕幣鮫永?錐?頁匯倖貸辞峙?宸倖峙埆弌?鮫竃議夕侘?埆聾?宸倖峙埆寄?紙崙議夕侘?訳埆間。譜崔鮫永冲弼
鮫永冲弼宥狛RGB崎陣崙?箭泌俶勣鮫碕弼議夕侘?RGB?255,0,0?。MFC嶄嗤俯謹哈喘冲弼崎RGB?宸戦悳潤阻匯乂械需議冲弼議崎?工寄社歌深。児云冲弼眉嶽?碕駄清?凪麿議冲弼脅頁喇宸眉嶽児云議冲弼怏撹。箭泌?碕RGB?255,0,0?、駄RGB?0, 255,0?、清RGB?0,0, 255?、燃頚碕 #FFB6C1 255,182,193、從弼 #800080 128,0,128吉。
幣箭?聞喘GDI斤嵆CPen紙夕幣箭
園亟匯倖殻會?膳楼匯和鮫永議幹秀。貧中嗤伊嶽音揖欠鯉議鮫永?孖壓喘宸伊嶽音揖欠鯉議鮫永蛍艶三匯倖垈?揖扮俐個鮫永議?錐才冲弼。旗鷹亟壓念中仟秀議垢殻SDITest嶄?響宀辛參貫利嫋戻工議全俊嶄資函。堋響殻會頁萩歌深廣瞥。
1) 協吶方象潤更?
struct my_Eclipse{
CRect rect; //夕侘?塋焦瘕?
CPen pen; //鮫永
};
2) 協吶撹埀延楚
//協吶8倖潤更?喘噐紙崙8倖夕侘 my_Eclipse m_myEclipse[8];
3) 壓View窃嶄兜兵晒紙夕曝囃?
void CSDITestView::InitRect()
{
//順中貧勣?塋?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*150;
rect.top=20;
rect.right=100+i*150;
rect.bottom=120;
m_myEclipse[i].rect.CopyRect(rect);
}
else
{
//及屈佩夕侘
CRect rect;
rect.left=20+(i-4)*150;
rect.top=250;
rect.right=100+(i-4)*150;
rect.bottom=350;
m_myEclipse[i].rect.CopyRect(rect);
}
}
}
4) 壓View窃嶄兜兵晒鮫永?
void CSDITestView::InitPen()
{
//幹秀噸宥鮫永
m_myEclipse[0].pen.CreatePen(PS_SOLID,10,RGB(255,0,0));
m_myEclipse[1].pen.CreatePen(PS_DASH,5,RGB(0,255,0));
m_myEclipse[2].pen.CreatePen(PS_DOT,1,RGB(0,0,255));
m_myEclipse[3].pen.CreatePen(PS_DASHDOT,10,RGB(0,0,0));
m_myEclipse[4].pen.CreatePen(PS_DASHDOTDOT,5,RGB(255,0,255));
m_myEclipse[5].pen.CreatePen(PS_NULL,1,RGB(0,255,255));
m_myEclipse[6].pen.CreatePen(PS_INSIDEFRAME,10,RGB(0,255,255));
//幹秀鹿栽鮫永
LOGBRUSH LogBrush;
LogBrush.lbStyle=BS_HATCHED;
LogBrush.lbColor=RGB(0,0,255);
LogBrush.lbHatch=HS_DIAGCROSS;
m_myEclipse[7].pen.CreatePen(PS_GEOMETRIC,20,&LogBrush);
}
5) 壓View窃嶄議OnDraw痕方嶄耶紗鮫夕旗鷹?旗鷹泌和?
//寡喘GDI紙夕
CClientDC cdc(this);
CPen* pOldPen = NULL;
for (int i=0;i<8;i++)
{
//委輝念議鮫永僉秘DC
pOldPen = cdc.SelectObject(&m_myEclipse[i].pen);
cdc.Ellipse(m_myEclipse[i].rect);
cdc.SelectObject(pOldPen);
}
6) 園咎旺塰佩殻會?伏撹潤惚泌夕4-2-1侭幣?
夕4-2-1 喘音揖欠鯉音揖冲弼議鮫永鮫夕丼惚夕
幣箭嶄處幣阻8嶽鮫永丼惚
- 1催?PS_SOLID欠鯉?糞孖鮫永?
- 2催?PS_DASH 欠鯉?糞孖鮫永?
- 3催?PS_DOT 欠鯉?糞孖鮫永?
- 4催?PS_DASHDOT欠鯉?糞孖鮫永?
- 5催?PS_DASHDOTDOT欠鯉?糞孖鮫永?
- 6催?PS_NULL 欠鯉?糞孖鮫永?
- 7催?PS_INSIDEFRAME欠鯉?糞孖鮫永?
- 8催?PS_GEOMETRIC 欠鯉?糞孖鮫永。