📄 用vfp6显示统计图.txt
字号:
用VFP6.0显示MS GRAPHIC图表
2000-06-02· 蔡可训·cpcw
用VFP6.0编制应用程序时,都希望用图表方式实时反映销售情况、产值产量情况等内容,笔者使用activeX控件ms graphic97图表功能,实现了图表的实时显示.显示效果如图1所示.
一.创建含有如下控件的窗体
控件名 控件 属性
标签 Label1 caption:图表类型 Font:宋体Fontsize:12
标签 Label2 caption:显示效果 字体类型大小同上
按钮组 Optiongroup1
Option1 caption:二维条状 字体类型大小同上
Option2 caption:三维柱状 字体类型大小同上
线框 Shape1
检查框 Check1 caption:标题 字体类型大小同上
检查框 Check2 caption:栏目标题 字体类型大小同上
ole控件 Oleboundcontrol1
图1
二.程序清单:
(1)窗体Form1的init事件:
#DEFINE CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)
#DEFINE bartype -4099
SET SAFETY OFF
dime xsss(8),xss(8)
sele 10
use xscx
for ii=1 to 8
go ii
xsss(ii)=数量
xss(ii)=品名
endf
SET SAFETY ON
use c:\hgd\forms\pics
cGData = ""+TAB+""+CRLF+;
allt(xss(1))+TAB+str(xsss(1),10,2)+CRLF+;
allt(xss(2))+TAB+str(xsss(2),10,2)+CRLF+;
allt(xss(3))+TAB+str(xsss(3),10,2)+CRLF+;
allt(xss(4))+TAB+str(xsss(4),10,2)+CRLF+;
allt(xss(5))+TAB+str(xsss(6),10,2)+CRLF+;
allt(xss(6))+TAB+str(xsss(7),10,2)+CRLF+;
allt(xss(7))+TAB+str(xsss(8),10,2)+CRLF+;
allt(xss(8))+TAB+str(xsss(8),10,2)+CRLF
THIS.LockScreen = .T.
append general gen1 class "msgraph.chart" DATA m.cGData
THIS.OleBoundControl1.ControlSource = "Gen1"
THIS.OleBoundControl1.HasLegend = .F.
THIS.OleBoundControl1.autoformat(bartype,1)
THIS.LockScreen = .F.
(2)按钮组Optiongroup1的click事件:
#DEFINE bartype -4099
#DEFINE coltype -4100
*#DEFINE pietype -4102
DO CASE
CASE THIS.Value = 1
THISFORM.OleBoundControl1.autoformat(bartype,1)
CASE THIS.Value = 2
THISFORM.OleBoundControl1.autoformat(coltype,1)
ENDCASE
(3)检查框Check1的click事件:
#DEFINE C_GRAPHTITLE_LOC "菜肴销售情况表"
THISFORM.OleBoundControl1.HasTitle = !THISFORM.OleBoundControl1.HasTitle
IF THISFORM.OleBoundControl1.HasTitle = .T.
THISFORM.OleBoundControl1.ChartTitle.Caption = C_GRAPHTITLE_LOC
ENDIF
(4)检查框Check2的click事件:
THISFORM.OleBoundControl1.HasLegend = !THISFORM.OleBoundControl1.HasLegend
(5)"退出”命令按钮Command1的click事件:
Thisform.release
以上程序在中文WINDOWS98,VISUAL FOXPRO 6.0软件环境下运行通过。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -