Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


Accessタイトルバーからボタンを全て消し去る : Access裏技Tips



Accessのタイトルバーにある終了ボタンなどは、Access機能で非表示にすることはできません。 ここでは、WindowsAPIを用いてAccessのタイトルバーにある全てのボタン類を非表示にする技を紹介します。

Accessタイトルバーの各種のボタンを表示しない

  1. 標準モジュールに、WindowsAPIを用いたFunctionプロシージャGetClassLongPtrとSetWindowLongPtを作成します。
  2. メインフォーム(frm_sample)を作成し、コマンドボタンを配置(Cmdコマンド)します。
  3. Accessの終了ボタンがなくなりますので、メインフォームにAccessを終了させるコマンドボタンが必要になります。
  4. 次に、GetClassLongPtrとSetWindowLongPtプロシージャをメインフォームのフォームを開くイベントに記述します。
  5. メインフォームを開き、次に閉じたときに、Accessタイトルバーが非表示になります。
  6. なお、これら効果はプロシージャを実行したAccessのみに限定されますので、Shiftキーを押しながら再度Accessを立ち上げると標準設定に戻ります。

標準モジュールの宣言セクションに宣言

  1. 標準モジュールの宣言セクションに宣言します。
  2. Declareステートメントを宣言します。
  3. Declareステートメント GetClassLongPtr 及びSetWindowLongPtを記述します。
Declare Function GetClassLongPtr Lib "user32" Alias "GetWindowLongA" ( _
                 ByVal hWnd As Long, ByVal nIndex As Long) As Long ' --- A

Declare Function SetWindowLongPt Lib "user32" Alias "SetWindowLongA" ( _
                 ByVal hWnd As Long, ByVal nIndex As Long, _
                 ByVal dwNewLong As Long) As Long ' --- B
解説
  1. C:\WINDOWS\system32のDLLを利用するために宣言します。Windowsの属性を取得します。
  2. C:\WINDOWS\system32のDLLを利用するために宣言します。Windowsの属性を取得します。

Functionプロシージャ AccessTitleBar の作成

Functionプロシージャ AccessTitleBar を作成します。

Function AccessTitleBar()

    Const GWL_STYLE = (-16)
    Const WS_SYSMENU = &H80000
    Dim lngRetVal As Long

    lngRetVal = GetClassLongPtr(hWndAccessApp, GWL_STYLE) ' --- A
    lngRetVal = SetWindowLongPt(hWndAccessApp, GWL_STYLE, _
						lngRetVal - WS_SYSMENU) ' --- B

End Function
解説
  1. 開いているWindowsスタイルを取得します。
  2. 全てのボタンを無効にします。
今回のおすすめポイント

アクション一覧
Const GWL_STYLE = -16           : ウィンドウスタイルの書き換え
Const WS_SYSMENU = &H80000      : 全てのボタン
Const WS_MINIMIZEBOX = &H20000  : 最小化ボタンのみ
Const WS_MAXIMIZEBOX = &H10000  : 最大化ボタン

メインフォームの作成

  1. 非連結のメインフォームを作成します。
  2. Accessを終了させるコマンドボタンを作成します。

  1. フォームプロパティから作業ウィンドウ固定プロパティを"はい"に変更します。

フォームを開く時イベントイベントプロシージャの作成

フォームを開く時イベントイベントプロシージャを作成します。

Private Sub Form_Open(Cancel As Integer)

    Call AccessTitleBar ' --- A

End Sub
解説
  1. FunctionプロシージャAccessTitleBarを呼び出します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを作成します。

Private Sub Cmdコマンド終了_Click()

    Application.Quit ' --- A

End Sub
解説
  1. Accessを終了します。

動作確認

  1. フォームを閉じます。
  2. メニューバーのツールにある起動時の設定ダイアログを開きます。
  3. フォーム/ページの表示 欄で、frm_sampleを選択します。

  1. 一旦、Accessを終了し、再度Accessを開きます。
  2. 作業ウィンドウを固定していますので、メインフォーからフォーカスは移動しません。
  3. メインフォームを閉じると、Accessタイトルバーのボタンが全て非表示になっています。


関連ページ

ページの先頭へ 前ページへ戻る

 


Accessタイトルバーからボタンを全て消し去る : Access裏技Tips


 

-Microsoft Access Club-

アメリカ合衆国の大手データセンターのアダルト対応可能なリーズナブル価格設定の専用・共有レンタルサーバーをご提供しています。
アメリカ合衆国の大手データセンターにサーバー機器を設置。
アダルト対応可能な専用・共有レンタルサーバーを提供。