26 フォームヘッダーにタイトルラベルを挿入する

フォームのデザインビューにプログラムからコントロールを挿入するには、「CreateControl」メソッドを使います。

このメソッドでは、次のように引数を指定します。2つめの引数に組み込み定数「acLabel」、3つめの引数に「acHeader」を指定することで、フォームヘッダーにラベルを挿入することができます。
  • 引数1対象フォーム名
  • 引数2挿入するコントロールの種類
  • 引数3挿入するセクション
  • 引数6、7左位置、上位置
  • 引数8、9幅、高さ
またこのメソッドは、生成されたコントロールのオブジェクトを返します。それをオブジェクト変数(ここではlbl)に代入しておくことで、そのあとの処理として位置とサイズ以外の各種のプロパティを追加設定できます。ここでは標題とフォームのCaptionプロパティを同じにし、フォントを大きめに設定するなどして、挿入したラベルをタイトルのようにデザインしています。
プログラム

Sub SampleCode_26()
'フォームヘッダにタイトルラベルを挿入する

  Dim lbl As Label
  Const TWIP_CM = 567    '1cmのTwip値

  'ヘッダー/フッターセクションを追加
  DoCmd.RunCommand acCmdFormHdrFtr

  '新しいラベルコントロールを挿入
  Set lbl = CreateControl(Screen.ActiveForm.Name, _
                          acLabel, _
                          acHeader, , , _
                          0.3 * TWIP_CM, 0.2 * TWIP_CM, _
                          6.1 * TWIP_CM, 0.8 * TWIP_CM)
  'ラベルのプロパティを設定
  With lbl
    'フォームの標題をラベルの標題に設定
    .Caption = Screen.ActiveForm.Caption
    'フォントサイズ16、太字に設定
    .FontSize = 16
    .FontBold = True
  End With

End Sub

実行例
■実行前

■実行後
| Index | Prev | Next |



Copyright © T'sWare All rights reserved