下面的代码可用于在报表实现圆角的矩形 调用方式:在报表的节的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
http://www.office-cn.net
|