<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    MFC畫二維動態圖表[GDI]

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    源博客:http://www.codeproject.com/Articles/9350/2D-Animated-Charts

    源代碼:http://download.csdn.net/detail/nuptboyzhb/4202051

    簡介:CGraphObject是由CWnd類派生出來,因此,CGraphObject類是一個窗口類;即,每個圖表都是一個窗口;因此,每一個圖表的創建,應該放在OnCreate函數或OnInitialUpdate函數中;其應用過程,與窗口類型的控件(如CButton)非常類似;

    應用:

    1.       將相關的.h.cpp文件復制到工程目錄中,并載入到工程;

    [GraphObject.h GraphObject.cpp]

    [MathParams.h]

    [2DLineGraph.h 2DLineGraph.cpp]

    [2DBarGraph.h 2DBarGraph.cpp]

    [2DPieGraph.h 2DPieGraph.cpp]

    2.       在類所在的頭文件中,包含其相應的頭文件;#include "GraphObject.h"并定義相應的資源ID窗口;

    3.       為類增加圖表類型的指針作為其成員變量;

    CGraphObject* m_pGraphObject1;

    //……一下詳見代碼

    4.       View類的OnInitialUpdate()函數中,初始化這些圖表窗口,或對話框的OnInitDialog()函數;或Oncreate函數;(注意:視圖窗口完全建立后第一個被框架調用的函數。框架在第一次調用OnDraw前會調用OnInitialUpdate

     

    // Create CGraphObject1 ( 2DPie graph )

    m_pGraphObject1 = new CGraphObject();

    //創建一個圖表窗口,大小,父窗口的指針,資源ID(自定義)

    m_pGraphObject1->Create( NULL, NULL, NULL, CRect(40,20,240,220), this, ID_OBJECT_GRAPH_1, NULL );

    //注意,應在頭文件中定義資源ID,如:#define ID_OBJECT_GRAPH_1 12345

    // Create graph and set graph parameters

    m_pGraphObject1->CreateGraph( GT_2DPIE );//創建一個二維餅狀圖

    m_pGraphObject1->SetGraphBackgroundColor( RGB(255,255,255) );//設置背景顏色

    m_pGraphObject1->SetGraphTitle( "2DPie No. 1" );//設置標題

    m_pGraphObject1->SetGraphSubtitle( "animation - none" );//設置子標題

    m_pGraphObject1->SetGraphTitleShadow( FALSE );//標題無陰影

    m_pGraphObject1->SetGraphSubtitleShadow( FALSE );//子標題無陰影

    m_pGraphObject1->SetGraphTitleColor( RGB(128,128,128) );//設置標題顏色

    m_pGraphObject1->SetGraphSubtitleColor( RGB(96,96,96) );//設置子標題顏色

    //設置注釋的背景顏色

    m_pGraphObject1->SetGraphLegendBackgroundColor( RGB(208,208,208) );

    // Add graph segments

    //為餅形圖添加數據段(百分比,顏色,名程)

    m_pGraphObject1->Add2DPieGraphSegment( 40, RGB(255,0,0), "Seg_1" );

    m_pGraphObject1->Add2DPieGraphSegment( 25, RGB(0,255,0), "Seg_2" );

    m_pGraphObject1->Add2DPieGraphSegment( 15, RGB(0,0,255), "Seg_3" );

    m_pGraphObject1->Add2DPieGraphSegment( 5, RGB(255,0,255), "Seg_4" );

    m_pGraphObject1->Add2DPieGraphSegment( 8, RGB(0,255,255), "Seg_5" );

    m_pGraphObject1->Add2DPieGraphSegment( 7, RGB(255,255,0), "Seg_6" );

    // 設置圖像動畫

    m_pGraphObject1->SetGraphAnimation( FALSE, AT_PIE_DRAW );

    5.       View類的析構函數中,刪除成員變量的指針;

    m_pGraphObject1->DestroyWindow();//關閉窗口

    delete m_pGraphObject1;//刪除指針

    注意:本人將MathParams.h進行了修改,新增了

    #pragma comment(lib,"Gdi32.lib")

    #pragma comment(lib,"Msimg32.lib")

    并將MathParams.h被三個圖形的.cpp文件中包含

    將其封裝到Dll動態鏈接庫中

    源代碼:http://download.csdn.net/detail/nuptboyzhb/4205148

    封裝后,只需要將[2DGraph.lib][ 2DGraph.dll][ GraphObject.h]這三個文件拷貝到工程目錄中即可,在需要用到的地方只需要包含其頭文件即可;

    #include "GraphObject.h"

    #pragma comment(lib,"2DGraph.lib")

    然后,下面的編程和上述3-5步驟中相同;

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全