您的当前位置:首页正文

MFCTeeChart用法整理一

2022-02-25 来源:汇智旅游网
因工作需求,要用到TeeChart控件,发现TeeChart在MFC下的资料很少。以下一些从网上七拼八凑得到的,还有一些是我自己摸索的,以下代码经均本人测试,测试环境

TeeChart的安装方法网上有很多,这里不再赘述。把通过ClassWizard定义一个类变量m_TeeChart。

TeeChart简介:

TeeChart的用法,大多是

vc++。

TeeChart控件添加到工程中后,将其拖到对话框中,然后

TeeChart的主类是TChart,TChart类存在众多的属性方法和事件,下面介绍一些主要的属性。

1、:图表的高度;可用下列语句获取或设置图表的高度

1 m(100); 1 metText() 2.SetItem(0, COleVariant(“TeeChart 使用范例”));3m().GetText().Add(COleVariant(“追加的标题”));

4、:序列;Series是要显示的数据的主体,在一个图表中可以有一个或者多个序列,每一个序列可以有不同的显示类型,例如Line、Bar、Pic等等,稍后将单独描述。5、:坐标轴;用来设置坐标轴的属性

1 m().GetBottom().GetTitle().SetCaption(\"X23 metLeft().GetTitle().SetCaption(\"Y45 metBottom().SetMinMax(0, 100);

轴的标题\"); 轴的标题\");

6

metVisible(FALSE);

\"时间\

1

illSampleValues(50); ddXY(i, rand()%10, NULL, RGB(255,0,255)); ddXY(i, rand()%10,

显示结果如下:

如果不想显示右侧的图例,可以用下列语句将其隐藏起来:

().SetVisible(FALSE);

第三种方法可以添加指定的数组:

#define MAX_SIZE 20

ddArray(MAX_SIZE, XValues, YValues);

如果标记Y轴的值,可以用下列语句:

(0).GetMarks().SetVisible(TRUE);

设置X轴与Y轴的标题:

().GetLeft().GetTitle().SetCaption(\"().GetBottom().GetTitle().SetCaption(\"

路程\"); 速度\");

2、第二种添加序列的办法是用代码添加:

(0); etView3D(FALSE); etTitle(\"

illSampleValues(50);

illSampleValues(50);

etColor(RGB(255, 0, 0)); etColor(RGB(0, 255,

0));

时间\"); etTitle(\"速度\"); etMarks().SetVisible(TRUE); etMarks().SetVisible(TRUE); etView3D(TRUE);

etAsPoint3D().AddXYZ(i, j*i, j, NULL, RGB(255,255,0)); etView3D(TRUE); etAsPoint3D().AddXYZ(i, j*i, j, NULL, RGB(255,255,0));

().SetVisible(FALSE); etDepth().SetVisible(TRUE); etDepth().GetLabels().SetVisible(TRUE); etDepth().GetLabels().SetStyle(0); etChart3DPercent(50); etView3D(TRUE);

for(int i=0; i<5; i++)

for(int j=0; j<5; j++)

(0).GetAsTower().AddXYZ(i,

().GetDepth().SetVisible(TRUE);

().GetDepth().GetLabels().SetVisible(TRUE); ().GetDepth().GetLabels().SetStyle(0); ().SetChart3DPercent(50);

j*i,

j, NULL,

RGB(255,255,0)); etVisible(FALSE);

TeeChart可以保存多钟格式的图片,bmp、jpeg、pdf、gif等,对于这些功能的定义在CExport类,看看它的成员函数有那些:

CExport类中声明。我们打开

void CopyToClipboardBitmap();

void CopyToClipboardMetafile(BOOL Enhanced); void SaveToBitmapFile(LPCTSTR FileName); void SaveToFile(LPCTSTR FileName);

void SaveToJPEGFile(LPCTSTR FileName, BOOL Gray, long

Performance, long Quality, long Width, long Height);

void SaveToMetafile(LPCTSTR FileName); void SaveToMetafileEnh(LPCTSTR FileName); void ShowExport(); CString SaveChartDialog();

void ConvertTeeFileToText(LPCTSTR InputFile, LPCTSTR

OutputFile);

VARIANT Stream(long StreamType); CJPEGExport GetAsJPEG(); CPNGExport GetAsPNG(); CGIFExport GetAsGIF(); CBMPExport GetAsBMP(); CPCXExport GetAsPCX(); CMetafileExport GetAsMetafile(); CNativeExport GetAsNative(); CXMLExport GetAsXML(); CXLSExport GetAsXLS(); CHTMLExport GetAsHTML(); CTextExport GetAsText();

void EmailFile(LPCTSTR FileName, LPCTSTR Subject); CPDFExport GetAsPDF(); CEPSExport GetAsEPS(); CSVGExport GetAsSVG(); CString GetLabelHeader();

void SetLabelHeader(LPCTSTR lpszNewValue); CXAMLExport GetAsXAML();

void SaveToXMLFile(LPCTSTR FileName, BOOL IncludeData, BOOL

XMLHeader);

VARIANT SaveToXMLStream(BOOL IncludeData, BOOL XMLHeader);

很显然,若想保存bmp格式的图片,需要用SaveTo是图片的绝对路径。而SaveToJPEGFilePerformance

File函数,其参数就

Bitmap

函数是用来保存jpeg图片的,它有五

个参数,FileName是文件存储的路径,Gray表示是否保存为黑白图像,

表示JPEG是生成质量优先还是速度优先,Quality是从0到100

-1表示

的整数,100表示生成的图片质量最好,Width和Height表示图片的像素,

以TeeChart的宽和高。下面是代码示例,生成

bmp和jpeg格式的图片:

().SaveToBitmapFile(\"C:\\\\\");

().SaveToJPEGFile(\"C:\\\\\

etAsGIF().SaveToFile(\"C:\\\\\"); etAsBMP().SaveToFile(\"C:\\\\\"); etAsJPEG().SaveToFile(\"C:\\\\\"); etAsPDF().SaveToFile(\"C:\\\\\"); //为pdf格式

保存

因篇幅问题不能全部显示,请点此查看更多更全内容