MS Access Tips/Sample and VBA and Blog customize etc...

レポートで角丸四角形を描画する関数

ExcelやWordなら角丸四角形はオートシェイプで簡単に表示できます。AccessでもExcelやWordで作成したオートシェイプをコピーしてOLEオブジェクトして貼り付ければ表示できますが、データベースファイルのサイズが肥大化しますし重くなります。また、角丸の部分が綺麗に表示されない場合があるようです。

そこで、レポート上で、角丸四角形を描画する関数を紹介します。

レポート上に角丸四角形

難易度:

標準モジュール

標準モジュールに下記のような宣言、関数を記述します。下記をそのままコピーしても可。
コントロールを丸括弧で囲む関数もおまけでつけておきました。

使用例

レポートの詳細セクションに、ラベルを4つ配置します。名前は、ラベル0,ラベル1,ラベル2,ラベル3 とします。

レポートのデザインビュー

詳細セクションの印刷時のイベントプロシージャを下記のように記述します。

これで、最初の画像のような出力になります。コメントアウトしているコードは丸括弧で囲む場合の使用例です。

角丸四角形はコントロールに内接するように描画されますので、角の部分が標題などのテキストにかぶる場合がありますので、左右上下の余白プロパティを設定して調節してください。

3 Comments

しぃ says..."背景色について"

またお手すきの際にでもお教えいただきたいのですが、
この角丸四角形に背景色を設定するにはどうすれば良いでしょうか。

プロパティシートで背景色を設定すると、
円弧の部分が見えなくなります。。

丸投げ質問で申し訳無いですが、
背景色を設定する方法がありましたら
教えていただければ嬉しいです。

よろしくお願いいたします。

2016.05.31 18:28 | URL | #PyFckM9o [edit]
hatena says..."re:背景色について"

> この角丸四角形に背景色を設定するにはどうすれば良いでしょうか。
>
> プロパティシートで背景色を設定すると、
> 円弧の部分が見えなくなります。。

レポートの FillStyle プロパティで塗りつぶしを指定して、
Circleメソッドで4すみに扇形を、
Lineメソッドで四角形を、
描画すれば可能だと思います。

時間ができたら塗りつぶし角丸四角形の関数を作成してみます。

2016.06.05 00:50 | URL | #5uE6dEgY [edit]
しぃ says..."ありがとうございます"

hatenaさま、お忙しくされているところ
ご回答をありがとうございます。

私も同様に考えて作成してみましたところ、
何とか実現することができました。

いつか塗りつぶし関数ができましたら、
是非またお教えいただければ幸いです。

2016.06.06 13:36 | URL | #- [edit]

Leave a reply






Trackbacks

trackback URL
https://hatenachips.blog.fc2.com/tb.php/369-c0c8fc3e
該当の記事は見つかりませんでした。