原創|使用教程|編輯:郝浩|2013-04-03 11:27:26.000|閱讀 1120 次
概述:本文展示如何用工控圖表控件ProEssentials 創建簡單的餅圖圖形。ProEssentials v7的餅圖又新添加了一些新功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
餅圖通常以百分比的形式顯示信息,比如產品銷售額、產品產量等。下面為大家展示如何用工控圖表控件ProEssentials 創建一個簡單的餅圖圖形。
這個餅圖展示了美國不同州的幾種水果產量情況。ProEssentials v7又在之前的版本上做了一些改進,在圖表上滾動鼠標可以分別查看幾種水果的產量圖表。雙擊餅圖上的標簽,還可以將餅圖對應的那一塊分離出來。這個餅圖還將那些太小的分片集合分類成*Other,這樣可以提高圖表數據的可讀性。這里只展示了一張圖片,要體驗這些功能,請下載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 ); } //***************************************************************************
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件