PEvsetcell(hPE, PEP_naSUBSETLINETYPES, 1, &nTmpStyle); nTmpStyle = PELT_DOT;
PEvsetcell(hPE, PEP_naSUBSETLINETYPES, 2, &nTmpStyle); 其他设定颜色和点类型的方法与以上方法类似,在此不再赘述。 3 实现结果:
绘制了一个科学图表,带游标和坐标显示功能,以下函数分别实现基本图表功能和游标显示功能。
void CPEView::CreateSimpleSGraph() {
RECT rect;
GetClientRect( &rect );
m_hPE = PEcreate(PECONTROL_SGRAPH, WS_VISIBLE, &rect, m_hWnd, 1001);
if( m_hPE ) {
float fY; float fX;
// 设置子集数和每个子集的点数 //
PEnset(m_hPE, PEP_nSUBSETS, 4); PEnset(m_hPE, PEP_nPOINTS, 12); for( int s=0; s<=3; s++ ) {
for( int p=0; p<=11; p++ ) {
fX = ((float) (p+1)) * 100.0F;
PEvsetcellEx (m_hPE, PEP_faXDATA, s, p, &fX); fY = ((float) (p+1) * 1.0F) + GetRandom(1, 250); PEvsetcellEx (m_hPE, PEP_faYDATA, s, p, &fY); } }
// 设置阴影
PEnset(m_hPE, PEP_nDATASHADOWS, PEDS_SHADOWS);
PEszset(m_hPE, PEP_szMAINTITLE, \
PEszset(m_hPE, PEP_szSUBTITLE, \
PEszset(m_hPE, PEP_szYAXISLABEL, \
PEszset(m_hPE, PEP_szXAXISLABEL, \
PEnset(m_hPE, PEP_bFOCALRECT, FALSE);
PEnset(m_hPE, PEP_bPREPAREIMAGES, TRUE);
PEnset(m_hPE, PEP_bCACHEBMP, TRUE);
PEnset(m_hPE, PEP_nPLOTTINGMETHOD, PEGPM_POINTSPLUSSPLINE);
PEnset(m_hPE, PEP_nGRIDLINECONTROL, PEGLC_NONE);
PEnset(m_hPE, PEP_nALLOWZOOMING, PEAZ_HORZANDVERT);
PEnset(m_hPE, PEP_nZOOMSTYLE, PEZS_RO2_NOT);
// 子集的标识
PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 0, \ PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 1, \ PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 2, \); PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 3, \);
// 子集点的颜色s
DWORD dwArray[4] = { RGB(198,0,0), RGB( 0, 198, 198 ), RGB( 198,198,0 ), RGB( 0,198,0 ) };
PEvsetEx( m_hPE, PEP_dwaSUBSETCOLORS, 0, 4, dwArray, 0 );
// 子集点的线型
int nLineTypes[] = { PELT_MEDIUMSOLID, PELT_MEDIUMSOLID, PELT_MEDIUMSOLID, PELT_MEDIUMSOLID };
PEvset(m_hPE, PEP_naSUBSETLINETYPES, nLineTypes, 4);
// 子集点的类型
int nPointTypes[] = { PEPT_DOTSOLID, PEPT_UPTRIANGLESOLID, PEPT_SQUARESOLID, PEPT_DOWNTRIANGLESOLID };
PEvset(m_hPE, PEP_naSUBSETPOINTTYPES, nPointTypes, 4);
// Version 4.0 功能 //
PEnset(m_hPE, PEP_bFIXEDFONTS, TRUE); PEnset(m_hPE, PEP_bSIMPLEPOINTLEGEND, TRUE); PEnset(m_hPE, PEP_bSIMPLELINELEGEND, TRUE); PEnset(m_hPE, PEP_nLEGENDSTYLE, PELS_1_LINE);
PEnset(m_hPE, PEP_nMULTIAXISSTYLE, PEMAS_SEPARATE_AXES);
// 设置其他属性 //
PEnset(m_hPE, PEP_bBITMAPGRADIENTMODE, TRUE);
PEnset(m_hPE, PEP_nQUICKSTYLE, PEQS_MEDIUM_NO_BORDER); PEnset(m_hPE, PEP_nGRADIENTBARS, 8);
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_LARGE); PEnset(m_hPE, PEP_bSCROLLINGHORZZOOM, TRUE); } }