#259 | Access本体の閉じるボタンを無効化するには? | VBA | |
Access本体のウィドウ右上にある[閉じる]ボタンを無効にして使えなくする方法です。この方法を使うことによって、Accessをメニューやコマンドボタンのプログラムなどからしか閉じられないようにすることができます。 それにはWindows APIを使いますので、まず標準モジュール等に以下の宣言を記述します。 Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long Public Declare Function DeleteMenu Lib "user32" _ (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Public Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Public Const MF_BYCOMMAND = &H0 Public Const SC_CLOSE = &HF060 起動時の設定で最初に自動的に表示されるフォームの"Form_Load"イベントプロシージャなどで、ボタンの無効化を実行するようにします。もちろん、そのタイミングにこだわらず、任意のタイミングでこの処理を実行することも可能です。 Private Sub Form_Load()
'フォーム読み込み時 Dim hMenu As Long 'システムメニューのハンドルを取得 hMenu = GetSystemMenu(Application.hWndAccessApp, 0) '閉じるボタンを無効にする DeleteMenu hMenu, SC_CLOSE, MF_BYCOMMAND 'メニューを再描画 DrawMenuBar Application.hWndAccessApp End Sub |
|||
|
Copyright © T'sWare All rights reserved |