<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>
  • 網站首頁 > 物聯資訊 > 技術分享

    CBarChart柱形圖類

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

    在用VC做有關圖表的時候,感覺不是那么方便,在codeproject找到一個柱形圖的實用類,原文地址為:http://www.codeproject.com/KB/miscctrl/CBarChart.aspx。它可以很快速的生成柱狀圖,并且支持輸出位圖、支持打印、支持從數據庫導入。

    原文章的類為多字節的,我自己改為了可適應多字節和Unicode版本的,如果有錯的話,還請使用原文章所給出的源碼。下面介紹下基本步驟:
    1.添加BarChart.cpp  BarChart.h工程;
    2.在需要使用的地方添加頭文件

    #include "BarChart.h" 

    3.定義一個CBarChart的變量;
    4.在實現文件里面使用Create方法創建圖表柱形圖;

    例如以下代碼可以在對話框的初始化函數里面添加:

    BOOL CBar_TestDlg::OnInitDialog() 

        CDialog::OnInitDialog(); 
     
            //````````````````````` 
     
        // TODO: 在此添加額外的初始化代碼 
        CRect rcClient; 
        GetClientRect(&rcClient); 
     
        if (!m_chart.Create(CRect(2020, rcClient.Width()-20, rcClient.Height()-20), this1050 )) 
        { 
            if (!m_chart.GetSafeHwnd()) 
            { 
                AfxMessageBox(_T("不能創建圖表控件!")); 
                return FALSE; 
            } 
     
            m_chart.Reset(); 
            m_chart.SetAutoScale(FALSE); 
        } 
     
        m_chart.SetTitle(_T("一個測試圖,顯示一些虛擬數據")); 
        m_chart.SetBKColor(RGB(255255240)); 
        m_chart.ShowTooltip(TRUE); 
     
        m_chart.AddBar(1600.356,_T("一月"),RGB(255,255,0)); 
        m_chart.AddBar(2841.5468,_T("二月"), RGB(255,0,0)); 
        m_chart.AddBar(1045.3258,_T("三月"), RGB(100,100,200)); 
        m_chart.AddBar(1502.215,_T("四月"), RGB(0,255,0)); 
        m_chart.AddBar(1467,_T("五月"), RGB(255,255,255)); 
        m_chart.AddBar(1678.354,_T("六月"), RGB(200,255,255)); 
        m_chart.AddBar(1785.689,_T("七月"), RGB(255,240,40)); 
        m_chart.AddBar(1283.099,_T("八月"), RGB(255,60,130)); 
        m_chart.AddBar(1554.879,_T("九月"), RGB(255,255,200)); 
        m_chart.AddBar(1400.10,_T("十月"), RGB(130,235,250)); 
        m_chart.AddBar(1600.556,_T("十一月"),RGB(100,150,200)); 
        m_chart.AddBar(1900.3546,_T("十二月"), RGB(150,240,80), TRUE); 
     
        return TRUE;  // 除非將焦點設置到控件,否則返回 TRUE 
    } 

    效果如下所示:

    RFID設備管理軟件

    對于的一些控制函數,參看原文或者源代碼。下載地址:http://download.csdn.net/source/2532159

     2012年4月18日 多字節下亂碼問題
    修改如下:
    void CBarChart::CChartBar::CreateLabelFont()里面m_lf.lfCharSet = ARABIC_CHARSET;改為m_lf.lfCharSet = GB2312_CHARSET;
    BOOL CChartTip::Create(CWnd *pParentWnd, BOOL *pbEnable, CString* lpszTitle, int nDelay)里面lf.lfCharSet = ARABIC_CHARSET;改為lf.lfCharSet = GB2312_CHARSET;

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