void CGDIView::OnDraw(CDC* pDC)
{
CGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CPen pen[8];
pen[0].CreatePen(PS_SOLID,10,RGB(255,0,0));
pen[1].CreatePen(PS_DASH,10,RGB(0,225,0));
pen[2].CreatePen(PS_DOT,10,RGB(0,0,255));
pen[3].CreatePen(PS_DASHDOT,10,RGB(0,255,255));
pen[4].CreatePen(PS_DASHDOTDOT,10,RGB(255,0,255));
pen[5].CreatePen(PS_NULL,1,RGB(255,255,0));
pen[6].CreatePen(PS_INSIDEFRAME,10,RGB(0,0,0));
LOGBRUSH lb;
lb.lbStyle=BS_HATCHED;
lb.lbColor=RGB(128,128,128);
lb.lbHatch=HS_DIAGCROSS;
pen[7].CreatePen(PS_GEOMETRIC,10,&lb);
CPen *poldpen;
poldpen=pDC->SelectStockObject(&pen[0]);
结果最后一句报错
error C2664: 'SelectStockObject' : cannot convert parameter 1 from 'class CPen *' to 'int'
兄弟们帮我看看
{
CGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CPen pen[8];
pen[0].CreatePen(PS_SOLID,10,RGB(255,0,0));
pen[1].CreatePen(PS_DASH,10,RGB(0,225,0));
pen[2].CreatePen(PS_DOT,10,RGB(0,0,255));
pen[3].CreatePen(PS_DASHDOT,10,RGB(0,255,255));
pen[4].CreatePen(PS_DASHDOTDOT,10,RGB(255,0,255));
pen[5].CreatePen(PS_NULL,1,RGB(255,255,0));
pen[6].CreatePen(PS_INSIDEFRAME,10,RGB(0,0,0));
LOGBRUSH lb;
lb.lbStyle=BS_HATCHED;
lb.lbColor=RGB(128,128,128);
lb.lbHatch=HS_DIAGCROSS;
pen[7].CreatePen(PS_GEOMETRIC,10,&lb);
CPen *poldpen;
poldpen=pDC->SelectStockObject(&pen[0]);
结果最后一句报错
error C2664: 'SelectStockObject' : cannot convert parameter 1 from 'class CPen *' to 'int'
兄弟们帮我看看
改成
poldpen=pDC->SelectObject(&pen[0]);
不过还的问一句pen[8]设置的是不同的画笔类型为什么我画出来的8个东西都是粗实线呢 只是颜色不一样