ProEssentials教程2-极坐标图表例子
来源:互联网 发布:市场花园行动 知乎 编辑:程序博客网 时间:2024/05/08 09:51
废话少说, 直接上代码
void CPEView::CreateSimpleSGraph() { //! Right button click to show popup menu. // //! Double Click to show customization dialog. // //! Left-Click and drag to draw zoom box. Use popup memu or 'z' to undo zoom. // // Simple example show the basics of a polar object. // // 极坐标图既包含Y轴数据(弧长)也包含X轴数据(弧度). // RECT rect; GetClientRect( &rect ); // 构造对象,Polar_Graph // m_hPE = PEcreate(PECONTROL_PGRAPH, WS_VISIBLE, &rect, m_hWnd, 1001); PEnset(m_hPE, PEP_nSUBSETS, 2);//2个子集 PEnset(m_hPE, PEP_nPOINTS, 360);//每个子集360个点 int p; float f1, f2; for (p=0; p<360; p++) { f1 = (float) p; //p° f2 = (float) 150 * sin((double) p * 0.054F);//弧长=150*sin转化为弧度 // f2= (float)300;//弧长 PEvsetcellEx(m_hPE, PEP_faXDATA, 0, p, &f1);//第1个子集第p个点 PEvsetcellEx(m_hPE, PEP_faYDATA, 0, p, &f2); } for (p=0; p<360; p++) { f1 = (float) p; f2 = (float) 150 * sin(((double) p * 0.044F)) * 2;//第2个子集第p个点 PEvsetcellEx(m_hPE, PEP_faXDATA, 1, p, &f1); PEvsetcellEx(m_hPE, PEP_faYDATA, 1, p, &f2); } PEnset(m_hPE, PEP_nPLOTTINGMETHOD, PEGPM_LINE); PEnset(m_hPE, PEP_nALLOWZOOMING, 1); PEszset(m_hPE, PEP_szMAINTITLE, TEXT("极坐标图表"));//主标题PEP_szMAINTITLE PEszset(m_hPE, PEP_szSUBTITLE, TEXT("")); //无副标题 float ftmp = .9F; PEvset(m_hPE, PEP_fFONTSIZELEGENDCNTL, &ftmp, 1 ); PEnset(m_hPE, PEP_bPREPAREIMAGES, TRUE); PEnset(m_hPE, PEP_bCACHEBMP, TRUE); PEnset(m_hPE, PEP_bFOCALRECT, FALSE); // 设置线型 int nTypes[] = { PELT_MEDIUMSOLID, PELT_MEDIUMSOLID }; PEvset(m_hPE, PEP_naSUBSETLINETYPES, nTypes, 2); // 设置点型 int nPTypes[] = { PEPT_DOTSOLID, PEPT_PLUS }; PEvset(m_hPE, PEP_naSUBSETPOINTTYPES, nTypes, 2); // 子集合颜色值 DWORD dwArray[2] = { PERGB(128, 198,0,0), PERGB(128, 0, 198, 0) }; PEvset( m_hPE, PEP_dwaSUBSETCOLORS, dwArray, 2); //子集合标签 labels PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 0, TEXT("Signal #1" )); PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 1, TEXT("Signal #2" )); double dnull = -99999.0F; PEvset(m_hPE, PEP_fNULLDATAVALUEX, &dnull, 1); PEvset(m_hPE, PEP_fNULLDATAVALUE, &dnull, 1); // Set Various other features // PEnset(m_hPE, PEP_bFIXEDFONTS, TRUE); PEnset(m_hPE, PEP_bBITMAPGRADIENTMODE, TRUE); PEnset(m_hPE, PEP_nQUICKSTYLE, PEQS_MEDIUM_NO_BORDER); PEnset(m_hPE, PEP_bSIMPLEPOINTLEGEND, TRUE); PEnset(m_hPE, PEP_bSIMPLELINELEGEND, TRUE); PEnset(m_hPE, PEP_nLEGENDSTYLE, PELS_1_LINE); PEnset(m_hPE, PEP_nZOOMSTYLE, PEZS_RO2_NOT); PEnset(m_hPE, PEP_nPOINTSIZE, PEPS_SMALL); PEnset(m_hPE, PEP_nTEXTSHADOWS, PETS_BOLD_TEXT); PEnset(m_hPE, PEP_bMAINTITLEBOLD, TRUE); PEnset(m_hPE, PEP_bSUBTITLEBOLD, TRUE); PEnset(m_hPE, PEP_bLABELBOLD, TRUE); PEnset(m_hPE, PEP_bLINESHADOWS, TRUE); PEnset(m_hPE, PEP_nFONTSIZE, PEFS_MEDIUM); PEnset(m_hPE, PEP_nGRADIENTBARS, 8); PEnset(m_hPE, PEP_nDATASHADOWS, PEDS_SHADOWS); float f = 1.2F; PEvset(m_hPE, PEP_fFONTSIZEGNCNTL, &f, 1); PEnset(m_hPE, PEP_nIMAGEADJUSTBOTTOM, 100); // Improves metafile export // PEnset(m_hPE, PEP_nDPIX, 600); PEnset(m_hPE, PEP_nDPIY, 600); // Set Demo's RenderEngine to Gdi Plus // // CMDIFrameWnd* pWnd = (CMDIFrameWnd*) AfxGetApp()->GetMainWnd(); // pWnd->SendMessage(WM_CHANGE_METAFILE, PEPLAYMETAFILEGDIPLUS ); } /************************************************************************/ /* 函数名:GetRandom() * 参数 : * a [a,b]中a * b [a,b]中b * 返回值 * int [a,b]间的随机整数 * * 作者 :Archie * 时间 :2012年8月27日 */ /************************************************************************/ int CPEView::GetRandom(int a, int b) { int i = (rand()%(b-a+1))+a; return i; }
0 0
- ProEssentials教程2-极坐标图表例子
- 图表控件ProEssentials创建极坐标代码
- ProEssentials第200例SimplePolar Chart极坐标图表,使用DLL单文档VC6.0实现
- 工控图表控件ProEssentials使用教程:创建蜡烛图
- ProEssentials 图表控件
- 工控图表控件ProEssentials使用教程:改变子集的颜色和线条风格
- 金融科学工程商业图表控件ProEssentials详细介绍教程及下载
- 在程序中添加金融、科学、工程、商业图表,提供了多种2维和三维图表类型图表控件ProEssentials
- 分发免费的工控图表-ProEssentials
- ProEssentials图表开发常见问题总结汇总
- 图表控件ProEssentials创建饼图
- 实时曲线绘图控件ProEssentials使用实例:自定义坐标刻度
- ProEssentials教程1-和MFC集成的教程
- 三款ActiveX图表控件对比评测 TeeChart VS ProEssentials…
- 三款ActiveX图表控件对比评测 Pro ActiveX、ProEssentials、ChartDirector
- 三款ActiveX图表控件对比评测 TeeChart VS ProEssentials…
- 工控图表控件ProEssentials创建3D柱状图示例代码
- JFreeChart网页图表例子
- 希捷硬盘产品Model Number分析
- DataTable 用Aspose.Cells导出Excel
- 2种方法实现倒计时
- 用户空间和内核空间通讯之【Netlink 上、中、下】
- 孙俪购得2.6%海润影视股权 200万换来亿万身家
- ProEssentials教程2-极坐标图表例子
- [leetcode] First Missing Positive
- json和jsonp
- Struts1.X 项目
- 为什么说数据库版本控制是必须的
- 华为数字芯片工程师实习生面试全过程
- O/R 映射技术的王牌Hibernate框架
- 自己工作常用的两种主键生成策略
- org.apache.commons.dbcp.BasicDataSource连接池配备属性