权少的挚爱娇宠第一章:在对话框中绘制直角坐标系
来源:百度文库 编辑:中财网 时间:2024/05/05 04:05:09
有时为了对采集数据进行显示, 需要在界面中显示直角坐标, 主要操作均在OnPaint函数中完成, 下面就简单的讲解下如何实现: 1. 添加static静态文本框到对话框上, 并修改其ID为IDC_MYSTATIC; 2. 在对话框的申明文件即CXXXDlg.h文件中定义变量; CWnd *pWnd; //获取控件窗口类指针 3. 在其cpp实现文件中的OnInitDialog()函数中获取: pWnd = GetDlgItem(IDC_MYSTATIC); 4. 在OnPaint()中的代码如下: void CXXXDlg::OnPaint() { CPaintDC dc(this); // device context for painting CString str; int i, j; int x, y; //强制更新绘图, 不可少, 否则绘图会出错 pWnd->Invalidate(); //使static控件的区域无效 pWnd->UpdateWindow();//更新窗口, 此时才真正向系统发送重绘消息 CDC *pDC = pWnd->GetDC(); //获取控件的CDC指针 pDC->Rectangle(0, 0, 380, 390); //画一个矩形框 CPen *pPenRed = new CPen(); //创建画笔对象 pPenRed ->CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); //红色画笔 CPen *pPen = NULL; //选中当前红色画笔,并保存以前的画笔 CGdiObject *pOldPen = pDC ->SelectObject(pPenRed); pDC ->MoveTo(20, 20); //绘制坐标轴 pDC ->LineTo(20, 360); //竖起轴 pDC ->LineTo(360, 360); //水平轴 //写X轴刻度值 for(i = 0; i <= 10; i ++) { str.Format("%d", i); pDC ->TextOut(17 + 30 * i, 365, str); //绘制X轴刻度 pDC ->MoveTo(i * 30 + 20, 360); pDC ->LineTo(i * 30 + 20, 355); }
//写Y轴刻度值 for(i = 1; i <= 10; i ++) { str.Format("%d", i); pDC ->TextOut(2, 360 - 30 * i - 5, str); //绘制Y轴刻度 pDC ->MoveTo(25, 360 - 30 * i); pDC ->LineTo(20, 360 - 30 * i); } //绘制X箭头 pDC ->MoveTo(350, 357); pDC ->LineTo(360, 360); pDC ->LineTo(350, 363); //绘制Y箭头 pDC ->MoveTo(17, 30); pDC ->LineTo(20, 20); //绘制左边箭头 pDC ->LineTo(23, 30); //绘制右边箭头
//恢复以前的画笔 pDC ->SelectObject(pOldPen); delete pPenRed; if(pPen != NULL) delete pPen; ReleaseDC(pDC); } 效果见下图(因为以前做过相关的东西, 就直接贴出来了, 并没有单独的图片, 看下效果就可以):
//写Y轴刻度值 for(i = 1; i <= 10; i ++) { str.Format("%d", i); pDC ->TextOut(2, 360 - 30 * i - 5, str); //绘制Y轴刻度 pDC ->MoveTo(25, 360 - 30 * i); pDC ->LineTo(20, 360 - 30 * i); } //绘制X箭头 pDC ->MoveTo(350, 357); pDC ->LineTo(360, 360); pDC ->LineTo(350, 363); //绘制Y箭头 pDC ->MoveTo(17, 30); pDC ->LineTo(20, 20); //绘制左边箭头 pDC ->LineTo(23, 30); //绘制右边箭头
//恢复以前的画笔 pDC ->SelectObject(pOldPen); delete pPenRed; if(pPen != NULL) delete pPen; ReleaseDC(pDC); } 效果见下图(因为以前做过相关的东西, 就直接贴出来了, 并没有单独的图片, 看下效果就可以):
在直角坐标系xOy中......
怎样在WORD中建直角坐标系?
vc在对话框中怎样绘制图形?
java中绘制坐标系的函数
在直角坐标系中,如果图像为一个圆,他是否是一个函数??
CAD中,用了相对直角坐标系后,以后的操作过程中全是相对直角坐标系,怎样才能切换回绝对直角坐标系?
平面直角坐标系
平面直角坐标系问题
笛卡儿平面直角坐标系
平面直角坐标系
平面直角坐标系
平面直角坐标系
平面直角坐标系
直角坐标系上两
还是平面直角坐标系
平面直角坐标系
在平面直角坐标系中,坐标轴上的点(-3,-4)的距离等于5的点共有( )
方程x+2y=3的所有解在平面直角坐标系中组成的图形为_?为什么?
怎样在word中画直角坐标系特别是它的箭头?画好后怎样画抛物线及标原点及刻度
已知函数y = log2x的图像C,做下列变换并把所得图像画在同一直角坐标系中:
请问各位高手,如何在wps2003下画直角坐标系?
C++ 直角坐标系转换为极坐标系??
在平面直角坐标系中,在y轴的正半轴上给定两点A、B,试在x轴的正半轴上求点C,使∠ACB取得最大值
怎样制作直角坐标系表格