MSChart图形如何打印??急急急急

zgmmz 2009-04-09 09:24:06
我用VFP9.0编写了一个产线生产看板程序,程序上面显示一些生产,人员等信息。下面用Olecontrol(OLEDB)控件,将投入、产出以柱形图显示。现在遇到的情况是在以特定的格式(不是截图后直接打印)打印时,程序上面的信息可以显示,图形无法显示。请教高手! 急急急…
...全文
207 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
njchen 2009-04-16
  • 打赏
  • 举报
回复
mschart生成图形,存入字段,再用报表打印
十豆三 2009-04-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgmmz 的回复:]
十豆三老师谢谢,怎样把图片打印出来,不以截图的形势.
[/Quote]

你参考1楼我的例子试试,看看用VFP自带的控件是否可以用1楼例子中的报表设计方法
zgmmz 2009-04-09
  • 打赏
  • 举报
回复
有誰知道嗎?急
zgmmz 2009-04-09
  • 打赏
  • 举报
回复
十豆三老师谢谢,怎样把图片打印出来,不以截图的形势.
十豆三 2009-04-09
  • 打赏
  • 举报
回复
那就用VFP自带的控件 MSCHRT20.OCX(不过这个控件我也没用过)


MSChart控件使用方法介绍

*---------------------------

概述
本文演示了如何使用 MSChart OCX 控件 (MSCHRT20.OCX) 用八列和行的数据来创建一个三维图表. 本文也说明设置 legend 参数.

更多信息
MSChart

真实的三维表现

支持所有主要图表类型

通过随机数据和数组装配数据表格

MSChart 控件与一个数据表格关联, DataGrid 对象. DataGrid 对象是一个保存产生图表的数据的表. 数据表格可以包括用于指明图表序列和分类的标签. 数据表格可以用插入数据的信息来填充或从电子表格或数据中导入.
用以下代码创建一个名为 MyChart.prg 的程序文件:

PUBLIC chartdemo
chartdemo=CREATEOBJECT('chartdemo')
chartdemo.SHOW

DEFINE CLASS chartdemo AS FORM

TOP = 0
LEFT = 0
HEIGHT = 250
WIDTH = 360
DOCREATE = .T.
CAPTION = "MSChart Control"
NAME = "Form1"

ADD OBJECT olecontrol1 AS OLECONTROL WITH ;
TOP = 24, ;
LEFT = 42, ;
HEIGHT = 181, ;
WIDTH = 277, ;
VISIBLE = .F., ;
NAME = "Olecontrol1", ;
OLECLASS="MSChart20Lib.MSChart.2"

ADD OBJECT command1 AS COMMANDBUTTON WITH ;
TOP = 216, ;
LEFT = 24, ;
HEIGHT = 24, ;
WIDTH = 121, ;
CAPTION = "\<Show Chart", ;
NAME = "Command1"

ADD OBJECT command2 AS COMMANDBUTTON WITH ;
TOP = 216, ;
LEFT = 216, ;
HEIGHT = 24, ;
WIDTH = 120, ;
CAPTION = "E\<xit", ;
NAME = "Command2"

PROCEDURE command1.CLICK
WITH THISFORM.olecontrol1
*!* Display a 3d chart with 8 columns and 8 rows of data.
.ChartType = 0 && VtChChartType3dBar
*!* Set the number of columns to 8
.COLUMNCOUNT = 8
*!* Set the number of rows to 8
.RowCount = 8

*!* Populate the DataGrid Object.
FOR lnCol = 1 TO 8
FOR lnRow = 1 TO 8
.COLUMN = lnCol
.ROW = lnRow
.DATA = lnRow * 10
NEXT ROW
NEXT COLUMN
*!* Use the chart as the backdrop of the legend.
.ShowLegend = .T.
*!* Select Chart Part 1
.SelectPart(1,1,1,1,1) && VtChPartTypePlot, index1, index2, index3, index4)
*!* Copy the chart to the clipboard in Windows Metafile format.
.EditCopy
*!* Select Chart Part 1
.SelectPart(1,1,1,1,1) && VtChPartTypeLegend, index1, index2, index3, index4)
*!* Paste the Windows Metafile graphic from the clipboard into the chart
.EditPaste
*!* Set the chart object visible
.VISIBLE=.T.
*!* Refresh the chart object
.REFRESH
ENDWITH
THISFORM.REFRESH
ENDPROC

PROCEDURE command2.CLICK
WITH THISFORM
.RELEASE
ENDWITH
ENDPROC

ENDDEFINE
保存并运行该 .prg 文件.

单击 Show Chart 命令按钮.
zgmmz 2009-04-09
  • 打赏
  • 举报
回复
十豆三老师谢谢,我以前是用MSGRAPH.CHART写的,现在公司为了节省成本,要卸载Office,再用MSGRAPH.CHART会出现错误,找了很久才找到OLEDB,有其它控件可以告知,谢谢!
十豆三 2009-04-09
  • 打赏
  • 举报
回复
这是示例:

VFP中使用Office-MsGraph图表
http://download.csdn.net/source/839018

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧