那里有做饼图,圆柱型图的控件?
有免费的吗?有急用,谢谢 问题点数:100、回复次数:8Top
1 楼sunxl(小呆)回复于 2002-06-04 16:05:48 得分 20
我说一个例子
ctrl+t 引用 D:\WIN2K\System32\MSCHRT20.OCX **部件**
Private Sub Command1_Click()
With MSChart1
.chartType = VtChChartType2dLine
.ColumnCount = 8
.RowCount = 8
.ShowLegend = True
.SelectPart VtChPartTypePlot, index1, index2, _
index3, index4
.EditCopy
.SelectPart VtChPartTypeLegend, index1, _
index2, index3, index4
.EditPaste
End With
End Sub
有什么疑问 留言CSDN消息给我
http://www.csdn.net/Message_Board/Send.asp?sendto=sunxl
Top
2 楼sunxl(小呆)回复于 2002-06-04 16:05:54 得分 0
VtChChartType 提供图表类型选项。
常数 描述
VtChChartType3dBar 3D 条形图
VtChChartType2dBar 2D 条形图
VtChChartType3dLine 3D 折线图
VtChChartType2dLine 2D 折线图
VtChChartType3dArea 3D 面积图
VtChChartType2dArea 2D 面积图
VtChChartType3dStep 3D 阶梯图
VtChChartType2dStep 2D 阶梯图
VtChChartType3dCombination 3D 组合图
VtChChartType2dCombination 2D 组合图
VtChChartType2dPie 2D 饼图
VtChChartType2dXY 2D XY 散点图Top
3 楼dtfly(涵风)回复于 2002-06-04 16:17:26 得分 30
可以自己写,干吗要个控件?
代码:Const pi = 3.1415926
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
Dim s As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
s = a + b + c
a = a / s
b = b / s
Call hb(a, b)
End Sub
Private Sub hb(ByVal a As Single, ByVal b As Single)
Picture1.FillStyle = 0
For i = 0 To 200
Picture1.FillColor = vbRed
Picture1.Circle (1500, 1500 - i), 1000, vbRed, -2 * pi, -2 * pi * a, 2 / 3
Picture1.FillColor = vbGreen
Picture1.Circle (1500, 1500 - i), 1000, vbGreen, -2 * pi * a, -2 * pi * (a + b), 2 / 3
Picture1.FillColor = vbBlue
Picture1.Circle (1500, 1500 - i), 1000, vbBlue, -2 * pi * (a + b), -2 * pi, 2 / 3
Next
Picture1.FillColor = vbRed
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi, -2 * pi * a, 2 / 3
Picture1.FillColor = vbGreen
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi * a, -2 * pi * (a + b), 2 / 3
Picture1.FillColor = vbBlue
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi * (a + b), -2 * pi, 2 / 3
End Sub
Top
4 楼daryl715(上善若水)回复于 2002-06-04 16:31:55 得分 10
VB自带的mschart
用法看msdnTop
5 楼lmajor(Linux + Major)回复于 2002-06-04 16:36:50 得分 0
但是要做象windows里边显示硬盘容量的那种3d饼图用mschart就不行啊Top
6 楼snowmiao2002(苗苗)回复于 2002-06-04 16:41:04 得分 20
可以自己绘图啊!
我有这方面vc的代码
也可以用水晶报表中的图形控件Chart
Top
7 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2002-06-04 16:41:59 得分 20
Private Sub Command1_Click()
If MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 2) <> "" And IsNull(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 2)) = False Then '该表格有数据
With MSChart1
.chartType = VtChChartType2dPie
.ColumnCount = 2
.RowCount = 1
Dim XXX As Double
XXX = Val(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 2))
.TitleText = "饼图示例 完成百分比"
.Column = 1
.Row = 1
.Data = XXX
.ColumnLabel = "完成百分比" & str(XXX) & "%"
.Column = 2
.Row = 1
.Data = 100 - XXX
.ColumnLabel = "剩余百分比" & str(100 - XXX) & "%"
End With
' With MSChart1
' .ChartType = VtChChartType2dPie
' .ColumnCount = 2
' .RowCount = 1
' Dim XXX As Double
' XXX = Val(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 2))
' .TitleText = "饼图示例 完成百分比"
' .Column = 1
' .Row = 1
' .Data = XXX
' .ColumnLabel = "完成百分比" & Str(XXX) & "%"
' .Column = 2
' .Row = 1
' .Data = 100 - XXX
' .ColumnLabel = "剩余百分比" & Str(100 - XXX) & "%"
' End With
End If
End Sub
Top
8 楼sunxl(小呆)回复于 2002-06-04 17:44:35 得分 0
一个command1 一个Picture1 三个textbox
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
Dim s As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
s = a + b + c
a = a / s
b = b / s
Call hb(a, b)
End Sub
Private Sub hb(ByVal a As Single, ByVal b As Single)
pi = 3.14
Picture1.FillStyle = 0
For i = 0 To 200
Picture1.FillColor = vbRed
Picture1.Circle (1500, 1500 - i), 1000, vbRed, -2 * pi, -2 * pi * a, 2 / 3
Picture1.FillColor = vbGreen
Picture1.Circle (1500, 1500 - i), 1000, vbGreen, -2 * pi * a, -2 * pi * (a + b), 2 / 3
Picture1.FillColor = vbBlue
Picture1.Circle (1500, 1500 - i), 1000, vbBlue, -2 * pi * (a + b), -2 * pi, 2 / 3
Next
Picture1.FillColor = vbRed
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi, -2 * pi * a, 2 / 3
Picture1.FillColor = vbGreen
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi * a, -2 * pi * (a + b), 2 / 3
Picture1.FillColor = vbBlue
Picture1.Circle (1500, 1500 - i), 1000, vbWhite, -2 * pi * (a + b), -2 * pi, 2 / 3
End Sub
Top




