博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CreatePolyPolygonRgn
阅读量:2788 次
发布时间:2019-05-13

本文共 1592 字,大约阅读时间需要 5 分钟。

void CDialog_CRgn_104::OnBnClickedButton1()

{
    // TODO: 在此添加控件通知处理程序代码
    CRgn rgn1,rgn2,rgn3;
    /*rgn1.CreateRectRgn(0,0,100,150);
    rgn1.DeleteObject();*/
    //rgn1.CreateRectRgnIndirect(CRect(0,0,100,150));
    //rgn1.CreateEllipticRgn(0,0,100,150);
    rgn1.CreateEllipticRgnIndirect(CRect(0,0,100,150));
    rgn2.CreateRectRgnIndirect(CRect(0,22,150,222));
    rgn3.CreateEllipticRgnIndirect(CRect(120,199,220,150));
    
    rgn1.CombineRgn(&rgn2,&rgn3,RGN_OR   ); //rgn1=rgn2+rgn3;
    CDC *pdc=GetDC();
    CBrush bsh(0xff);
    pdc->FillRgn(&rgn1,&bsh);
    //pdc->Rectangle()
   
    rgn1.DeleteObject();
    rgn2.DeleteObject();
    rgn3.DeleteObject();
    ReleaseDC(pdc);
}

void CDialog_CRgn_104::OnLButtonDown(UINT nFlags, CPoint point)

{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    TRACE("%d,%d,",point.x,point.y);
    static CDC *pdc=GetDC();
    pdc->SetPixel(point,0xFF);
    pdc->LineTo(point);
    CDialog::OnLButtonDown(nFlags, point);
}

void CDialog_CRgn_104::OnBnClickedButton2()

{
    // TODO: 在此添加控件通知处理程序代码
    CRgn rgn;
    POINT p[22]={140,49,262,14,346,92,287,186,153,165/* */,129,140,76,39,153,47,63,45,20};
    rgn.CreatePolygonRgn(p,5,1 );//WINDING
    CDC *pdc=GetDC();
    CBrush bsh(0xFF000);
    pdc->FillRgn(&rgn,&bsh);;

    rgn.DeleteObject();

    ReleaseDC(pdc);
}

void CDialog_CRgn_104::OnBnClickedButton3()

{
    // TODO: 在此添加控件通知处理程序代码
    CRgn r25;
    POINT p[14]={64,51,138,22,133,87,
         94,60,193,49,219,120,134,175,93,124,110,95,200,109,321,131,287,203,191,241,173,134};
    //int pn[2]={5,5};
    //r25.CreatePolyPolygonRgn(p,pn,2,ALTERNATE );
    int pn[3]={3,6,5};
    r25.CreatePolyPolygonRgn(p,pn,3,WINDING);
    CDC *pdc=GetDC();
    CBrush bsh(0xFF000);
    pdc->FillRgn(&r25,&bsh);;

    r25.DeleteObject();

    ReleaseDC(pdc);

}

 

转载地址:http://pdfmd.baihongyu.com/

你可能感兴趣的文章
你所不知道的“位运算及运算过程”
查看>>
设计模式—模板设计模式
查看>>
把字符串转化成整数
查看>>
MyBtis(一)—— 初识MyBatis
查看>>
MyBtis(二)—— 动态代理
查看>>
团队建设三板斧
查看>>
linux 0.11 内核学习 -- setup.s
查看>>
setup.s
查看>>
bootsect.S分析
查看>>
硬盘分区结构及windows文件系统结构
查看>>
int 13h 参数大全
查看>>
Bootlaoder分析详解
查看>>
BIOS和DOS中断大全
查看>>
BIOS的入口地址0xFFFF0
查看>>
1.2.2 加载第二部分代码—setup(1)
查看>>
1.2.2 加载第二部分代码—setup(2)
查看>>
1.3.2 设置中断描述符表和全局描述符表
查看>>
1.3.3 打开A20,实现32位寻址
查看>>
2.7 与建立人机交互界面相关的外设的中断服务程序挂接
查看>>
2.7.3 对键盘进行设置
查看>>