Office中国论坛/Access中国论坛
标题:
可用于在报表实现圆角的矩形的例程
[打印本页]
作者:
tmtony
时间:
2008-6-29 09:45
标题:
可用于在报表实现圆角的矩形的例程
下面的代码可用于在报表实现圆角的矩形
调用方式:在报表的节的Format事件或页的Page事件中调用
'Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
' RoundCornerBox 4000, 6000, 100, 200, 300, Me
'End Sub
原作者:未知
翻译:tmtony(
access
/Office中国)
创建一个新模块,添加如下代码
Sub RoundCornerBox( _
lngWidth As Long, _
lngHeight As Long, _
lngTop As Long, _
lngLeft As Long, _
lngRadius As Long, _
rptReport As Report)
Dim sngStart As Single
Dim sngEnd As Single
Dim dblPI As Double
dblPI = 3.14159265359
'左上角
sngStart = 2 * dblPI * 0.25 ' Start of pie slice.
sngEnd = 2 * dblPI * 0.5 ' End of pie slice.
rptReport.Circle (lngLeft + lngRadius, _
lngTop + lngRadius), _
lngRadius, vbBlue, sngStart, sngEnd
'上边线条
rptReport.Line (lngLeft + lngRadius, lngTop)- _
(lngLeft + lngWidth - lngRadius, lngTop)
'右上角
sngStart = 2 * dblPI * 0.000001
sngEnd = 2 * dblPI * 0.25
rptReport.Circle (lngLeft + lngWidth - _
lngRadius, lngTop + lngRadius), _
lngRadius, vbBlue, sngStart, sngEnd
'右边线条
rptReport.Line (lngLeft + lngWidth, _
lngTop + lngRadius)- _
(lngLeft + lngWidth, _
lngTop + lngHeight - lngRadius)
'右下角
sngStart = 2 * dblPI * 0.75
sngEnd = 2 * dblPI
rptReport.Circle (lngLeft + lngWidth - _
lngRadius, lngTop + lngHeight - lngRadius), _
lngRadius, vbBlue, sngStart, sngEnd
rptReport.Line (lngLeft + lngRadius, _
lngTop + lngHeight)- _
(lngLeft + lngWidth - lngRadius, lngTop + lngHeight)
'左下角
sngStart = 2 * dblPI * 0.5
sngEnd = 2 * dblPI * 0.75
rptReport.Circle (lngLeft + lngRadius, _
lngTop + lngHeight - lngRadius), _
lngRadius, vbBlue, sngStart, sngEnd
'右边线
rptReport.Line (lngLeft, lngTop + lngRadius)- _
(lngLeft, lngTop + lngHeight - lngRadius)
End Sub
作者:
stone0823
时间:
2008-7-1 10:13
Many thanks
作者:
xuwenning
时间:
2008-7-1 10:23
学习[:50]
作者:
szyewj
时间:
2009-4-22 15:24
Many thanks
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3