原創(chuàng)|使用教程|編輯:郝浩|2013-04-03 11:27:26.000|閱讀 1128 次
概述:本文展示如何用工控圖表控件ProEssentials 創(chuàng)建簡(jiǎn)單的餅圖圖形。ProEssentials v7的餅圖又新添加了一些新功能。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
餅圖通常以百分比的形式顯示信息,比如產(chǎn)品銷售額、產(chǎn)品產(chǎn)量等。下面為大家展示如何用工控圖表控件ProEssentials 創(chuàng)建一個(gè)簡(jiǎn)單的餅圖圖形。
這個(gè)餅圖展示了美國(guó)不同州的幾種水果產(chǎn)量情況。ProEssentials v7又在之前的版本上做了一些改進(jìn),在圖表上滾動(dòng)鼠標(biāo)可以分別查看幾種水果的產(chǎn)量圖表。雙擊餅圖上的標(biāo)簽,還可以將餅圖對(duì)應(yīng)的那一塊分離出來(lái)。這個(gè)餅圖還將那些太小的分片集合分類成*Other,這樣可以提高圖表數(shù)據(jù)的可讀性。這里只展示了一張圖片,要體驗(yàn)這些功能,請(qǐng)下載ProEssentials v7。
	
void CPEView::CreateSimplePie()
{
   RECT rect;
   GetClientRect( &rect );
   // Construct Object //
   m_hPE = PEcreate(PECONTROL_PIE, WS_VISIBLE, &rect, m_hWnd, 1001);
   PEnset(m_hPE, PEP_nSUBSETS, 5);
   PEnset(m_hPE, PEP_nPOINTS, 12);
   int s,p;          
   for (s=0; s<5; s++)
   {
       for (p=0; p<12; p++)
       {
           float f1 = (float) GetRandom(1, 5) + ((float) GetRandom(1, 100) / 100.0F);
           PEvsetcellEx(m_hPE, PEP_faXDATA, s, p, &f1);
       }
   }
   float f1= 0.0F;
   PEvsetcellEx(m_hPE, PEP_faXDATA, 0, 3, &f1);
   // Set Subset labels //
   PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 0, TEXT("Apples" ));
   PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 1, TEXT("Oranges" ));
   PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 2, TEXT("Pears"  ));
   PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 3, TEXT("Plums" ));
   PEvsetcell( m_hPE, PEP_szaSUBSETLABELS, 4, TEXT("Peaches" ));
   // Set Slice Labels //
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 0, TEXT("Texas"      ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 1, TEXT("Oklahoma"   ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 2, TEXT("Kansas"));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 3, TEXT("New Mexico" ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 4, TEXT("Colorado"   ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 5, TEXT("Wyoming"    ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 6, TEXT("Utah"       ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 7, TEXT("Arizona"   ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 8, TEXT("Nebraska"    ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 9, TEXT("South Dakota"       ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 10, TEXT("North Dakota"   ));
   PEvsetcell( m_hPE, PEP_szaPOINTLABELS, 11, TEXT("Iowa"    ));
   // Set Slice Colors //
   DWORD c[13];
   c[0] = PERGB( 255, 198, 0, 0);
   c[1] = PERGB( 255, 0, 198, 0);
   c[2] = PERGB( 255, 198, 198, 0);
   c[3] = PERGB( 255, 0, 0, 198);
   c[4] = PERGB( 255, 198, 0, 198);
   c[5] = PERGB( 255, 0, 198, 198);
   c[6] = PERGB( 255, 192, 192, 192);
   c[7] = PERGB( 255, 148, 0, 0);
   c[8] = PERGB( 255, 0, 148, 0);
   c[9] = PERGB( 255, 148, 148, 0);
   c[10] = PERGB( 255,0, 168, 168);
   c[11] = PERGB( 255, 132, 132, 132);
   c[12] = PERGB( 255, 0, 0, 0);
   PEvset(m_hPE, PEP_dwaSUBSETCOLORS, c, 13);
   // Set Main Title
   PEszset(m_hPE, PEP_szMAINTITLE, TEXT("Produce by State"));
   PEszset(m_hPE, PEP_szSUBTITLE, TEXT("")); // no subtitle
   // Set various other properties //
   PEnset(m_hPE, PEP_nDATAPRECISION, 1);				   
   PEnset(m_hPE, PEP_nGROUPINGPERCENT, 4);
   PEnset(m_hPE, PEP_nDATASHADOWS, PEDS_3D);					 
   PEnset(m_hPE, PEP_bDISABLE3DSHADOW, FALSE);
   PEnset(m_hPE, PEP_nAUTOEXPLODE, PEAE_ALLSUBSETS);
   PEnset(m_hPE, PEP_bFOCALRECT, FALSE);
   PEnset(m_hPE, PEP_bPREPAREIMAGES, TRUE);
   PEnset(m_hPE, PEP_bCACHEBMP, TRUE);
   PEnset(m_hPE, PEP_nFONTSIZE, PEFS_MEDIUM);
   PEnset(m_hPE, PEP_bFIXEDFONTS, TRUE);
   PEnset(m_hPE, PEP_bBITMAPGRADIENTMODE, TRUE);
   PEnset(m_hPE, PEP_nQUICKSTYLE, PEQS_LIGHT_NO_BORDER);
   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_nFONTSIZE, PEFS_LARGE);
   // 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 );
}
//***************************************************************************
					本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件