即効テクニック |
レポートの印刷時に発生するイベントで、次のようにイベントプロシージャを呼び出すステートメントを記述します。 Private Sub 詳細_Print(Cancel As Integer, _ PrintCount As Integer) ' Drawline プロシージャを呼び出します。 DrawLine End Sub このイベントは、印刷またはプレビューで発生します。(「詳細」のプロパティシート[イベント]タブの「印刷時」)次に、呼び出されるプロシージャを同じクラスモジュール内に作成します。 Sub DrawLine() Dim rpt As Report, lngColor As Long Dim sngTop As Single, sngLeft As Single Dim sngWidth As Single, sngHeight As Single Set rpt = Reports!レポート1 ' スケールをピクセル単位にします。 rpt.ScaleMode = 3 ' 上端から 5 ピクセル内側の辺です。 sngTop = rpt.ScaleTop + 5 ' 左端から 5 ピクセル内側の辺です。 sngLeft = rpt.ScaleLeft + 5 ' 幅。 sngWidth = rpt.ScaleWidth / 2 ' 高さ。 sngHeight = rpt.ScaleHeight / 2 ' 色を赤にします。 lngColor = RGB(0, 0, 255) ' 線を使って四角形を描きます。 rpt.Line (sngTop, sngLeft)-(sngWidth, sngHeight), _ lngColor, B End Sub 印刷またはプレビューでレポートを表示すると、詳細セクションの上端と左端から5ピクセル内側に、詳細セクションの半分の幅と高さの青い長方形が描画されます。 Lineメソッドは、Printイベントの発生時に、Reportオブジェクトに直線や長方形を描きます。 構文は次のとおりです。 <構文> object.Line [[Step](x1, y1)] - [Step](x2, y2) [, [color][, B[F]]] 引数 内容 object 描画の対象となるReportオブジェクトです。 Step 始点の座標値を、objectのプロパティCurrentXとCurrentY からの 相対位置として指定することを示すキーワードです。 x1, y1 直線や長方形の始点の座標値を表す単精度浮動小数点型(Single) の値です。引数objectで指定したReportオブジェクトのスケール プロパティ(ScaleMode、ScaleLeft、ScaleTop、ScaleHeight、 およびScaleWidthプロパティ)によって値の単位が決まります。 この引数を省略すると、CurrentX、CurrentYが始点となります。 Step 終点の座標値が始点からの相対位置で決まることを示すキーワードです。 x2, y2 直線の終点の座標値を表す単精度浮動小数点型の値です。 この引数を省略することはできません。 color 直線のRGB(赤緑青)カラーを表す長整数型(Long)の値です。 省略すると、"ForeColor/前景色"プロパティの値が使われます。 RGB や QBColor 関数を使用することができます。 B 終点と始点を長方形の対角と見なして長方形を描画するオプションです。 F FはBと共に指定します。Bオプションと共にFオプションを指定すると、 長方形の中を外周と同じ色で塗りつぶします。 Fを指定せずにBだけを指定すると、長方形の中は現在のFillColorと "BackStyle/背景スタイル"プロパティの値で塗りつぶされます。 "BackStyle/背景スタイル"プロパティの既定値は[Normal/普通]です。