问题描述
- 求一个简单的程序,vc6.0
-
哪位能给我提供一个画图程序吗?vc6.0能直接粘贴上去运行的。就画几条线几个矩形就好,非常感谢。
解决方案
创建个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);
解决方案二:
一个下雪的小程序 c++ vc6.0
VC6.0将程序打包成一个可执行文件(release)
时间: 2024-11-10 01:10:35