ceaser97 2016-03-29 13:08 采纳率: 33.3%
浏览 1628

求一个简单的程序,vc6.0

哪位能给我提供一个画图程序吗?vc6.0能直接粘贴上去运行的。就画几条线几个矩形就好,非常感谢。

  • 写回答

1条回答 默认 最新

  • lx624909677 2016-03-29 15:11
    关注

    创建个MFC工程,在OnPaint里面贴下面的代码

     CRect r;
            GetClientRect(&r);   //获得当前窗口对象
            int beginX,beginY;  //开始的坐标
            int endX,endY;     //终点的坐标
            CPaintDC dc(this);  //绘图对象
            dc.FillSolidRect(&r, RGB(100,100,100));   //设置背景色
            CPen pen;        //画笔对象
            pen.CreatePen(PS_SOLID, 1, RGB(255,255,255));    //设置画笔的颜色
            dc.SetTextColor(RGB(255,255,255));   //设置文字颜色
            dc.SelectObject(&pen);   //更新画笔
    
            //初始化起点和终点的坐标
            beginX=r.left+30;
            endX=r.left+30;
    
            beginY=r.top;
            endY=r.bottom;
    
            //临时存放坐标变量
            CString tempNum;
            //画Y坐标
            dc.MoveTo(beginX, beginY);
            dc.LineTo(endX, endY);
    
            for(beginX=r.left+30,endX=r.left+40,beginY=r.top,endY=r.top; endY<=r.bottom;)
            {
                tempNum.Format(_T("%d"),endY);
                dc.MoveTo(beginX, beginY);
                dc.LineTo(endX, endY);
                dc.TextOut(beginX-30, endY, tempNum);
                beginY+=40;
                endY+=40;
            }
    
            pen.DeleteObject();   //释放之前的画笔资源
            pen.CreatePen(PS_SOLID,1,RGB(0,255,0));  //从新设置画笔
            dc.SelectObject(&pen);
            //画曲线
            int x,y;   //波形的起点坐标
            int x1,y1; //波形的终点坐标
            int temp;  //存放每次的增量 
            //初始化起点和终点的坐标
            x=x1=r.left+45;
            y=y1=(r.bottom)/2;
            for(;x1<r.right;)
            {
                dc.MoveTo(x, y);
                dc.LineTo(x1, y1);
                x=x1;
                y=y1;
                Sleep(1);
                x1++;
                temp=rand()%((r.bottom)-y1-30);
                if(temp ==0)
                {
                   temp=rand()%((r.bottom)-y1-29);
                }
                if(y1>(r.bottom)/2)
                {
                    y1-=temp;
                }
                else
                {
                    y1+=temp;
                }
    
            }
            ReleaseDC(&dc);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题