遍匈 / MFC縮殻 /

MFC鮫永CPen窃

MFC議CPen窃撃廾阻鮫永斤嵆?凪嶄議撹埀痕方CreatePen糞孖幹秀鮫永議孔嬬?痕方圻侏泌和?
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 欠鯉?糞孖鮫永。

AltStyle によって変換されたページ (->オリジナル) /