HRGN hEllipse=CreateEllipticRgn(sScnCoor.x-12,sScnCoor.y-8,sScnCoor.x+12,sScnCoor.y+8);
LOGBRUSH logEllipseBrush;
logEllipseBrush.lbColor=RGB(110,20,50);
logEllipseBrush.lbStyle=BS_HOLLOW;
HBRUSH hEllipsBrush=CreateBrushIndirect(&logEllipseBrush);
FillRgn(m_hDC,hEllipse,hEllipsBrush);
不知道哪里出了问题??

解决方案 »

  1.   

    SelectObject()
    要把刷子选入设备才能用啊.
    你只创建了.
      

  2.   

    HRGN hEllipse=CreateEllipticRgn(sScnCoor.x-12,sScnCoor.y-8,sScnCoor.x+12,sScnCoor.y+8);
    LOGBRUSH logEllipseBrush;
    logEllipseBrush.lbColor=RGB(110,20,50);
    logEllipseBrush.lbStyle=BS_HOLLOW;
    HBRUSH hEllipsBrush=CreateBrushIndirect(&logEllipseBrush);
             if(CreateBrushIndirect!=NULL) SelectObject(m_hDC, hEllipsBrush);//这个
    FillRgn(m_hDC,hEllipse,hEllipsBrush);
      

  3.   

    pDC->SelectObject(&hEllipsBrush);
      

  4.   

    FillRgn不需要SelectObject
    只因你的画刷是空心的(BS_HOLLOW)试一次BS_SOLID?
      

  5.   

    DentistryDoctor(MVP-My heart will fly,in the sky.)说的对, HRGN hEllipse=CreateEllipticRgn(sScnCoor.x-12,sScnCoor.y-8,sScnCoor.x+12,sScnCoor.y+8); LOGBRUSH logEllipseBrush;
    logEllipseBrush.lbColor=RGB(110,20,50);
    logEllipseBrush.lbStyle=BS_SOLID;
    HBRUSH hEllipsBrush=CreateBrushIndirect(&logEllipseBrush);
    FillRgn(dc,hEllipse,hEllipsBrush);改成实Solid Brush,    Hollow brush.是个空刷子.
      

  6.   

    哦,原来刷子是空心的!
    我已经用PaitRgn代替FillRgn了.