使用VC++绘制坐标系
来源:互联网 发布:大数据 培训 编辑:程序博客网 时间:2024/06/05 16:05
首先打开VC++,新建一个单文档应用程序;
按下图,为View类添加消息处理函数,变更单文档窗体背景色为黑色;
在菜单中添加如下菜单;
为菜单添加消息处理函数;添加在View类中;
在View类头文件中添加三个成员变量;
int zbtype;//坐标系类别
int w,h; //存储窗口宽和高
int w2,h2; //存储窗口宽和高的一半
在View类构造函数中初始化成员变量;
CZbdemoView::CZbdemoView()
{
// TODO: add construction code here
zbtype=1;
w=0;
h=0;
w2=0;
h2=0;
}
三个菜单的消息处理函数中更改坐标系类型,然后刷新窗口;
void CZbdemoView::OnMenuitem32771()
{
// TODO: Add your command handler code here
zbtype=1;
Invalidate();
}
void CZbdemoView::OnMenuitem32772()
{
// TODO: Add your command handler code here
zbtype=2;
Invalidate();
}
void CZbdemoView::OnMenuitem32773()
{
// TODO: Add your command handler code here
zbtype=3;
Invalidate();
}
改变窗口背景为黑色的代码;
BOOL CZbdemoView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rectClient;
GetClientRect(&rectClient);
pDC->FillSolidRect(&rectClient, RGB(0,0,0) );
return TRUE;
//return CView::OnEraseBkgnd(pDC);
}
在View类OnDraw函数中按坐标系类别绘制坐标系;
void CZbdemoView::OnDraw(CDC* pDC)
{
CZbdemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CPen pen(PS_SOLID,1,RGB(255,0,0));//构造画笔对象
CPen *pOldPen;
pOldPen=pDC->SelectObject(&pen);
RECT rect1;
GetClientRect(&rect1);
w=rect1.right;
h=rect1.bottom;
w2=rect1.right/2;
h2=rect1.bottom/2;
switch(zbtype)
{
case 1:
pDC->MoveTo(0,h2);
pDC->LineTo(w,h2);
pDC->MoveTo(w2,0);
pDC->LineTo(w2,h);
break;
case 2:
pDC->MoveTo(6,h-6);// 距离边缘6个像素
pDC->LineTo(w,h-6);
pDC->MoveTo(6,6);
pDC->LineTo(6,h-6);
break;
case 3:
pDC->MoveTo(6,h-6);// 距离边缘6个像素
pDC->LineTo(w,h-6);
pDC->MoveTo(w2,0);
pDC->LineTo(w2,h-6);
break;
}
pDC->SelectObject(pOldPen);//恢复先前的画笔
}
三种坐标系效果分别如下;箭头尚未画出;下回分解;如果未见到画的线,可检查坐标点计算是否正确;
- 使用VC++绘制坐标系
- 利用VC绘制对数坐标系
- 利用VC绘制对数坐标系
- C#使用GDI+绘制直角坐标系
- vc坐标系
- vc 使用api绘制多边形
- MFC绘制直角坐标系
- c#绘制坐标系
- Matlab坐标系绘制
- 动画绘制坐标系
- canvas绘制坐标系
- Qt绘制坐标系
- 绘制直角坐标系
- OpenGL——点的绘制(使用OpenGL来绘制可旋转坐标系的螺旋线)
- ios 画图,绘制坐标系,画坐标系
- VC自定义坐标系
- mfc ,vc 使用过滤色绘制图片
- 使用GDI+绘制圆环,抗锯齿 (vc)
- 第五回,谈中国式产品创新
- J2EE --- Servlet 生命周期与工作原理
- 【打杂】苹果市场的评论搜集
- Nginx + https + 免费SSL证书配置指南
- Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
- 使用VC++绘制坐标系
- JXL操作Excel
- WorkBench插入中文数据??问题
- PKIX path building failed
- solr入门之搜索建议的几种实现方式和最终选取实现思路
- [BZOJ1493][NOI2007]项链工厂
- 输出星号图案
- 开通博客第一天
- ubuntu 14.04 无线网连接一会儿后, wifi 没掉, 但不能上网的解决方案