CWnd::EnableWindow

マウス入力およびキーボード入力を許可または禁止します。

BOOL EnableWindow(
   BOOL bEnable = TRUE 
);

パラメーター

  • bEnable
    指定されたウィンドウが有効にするか無効にするかどうかを指定します。このパラメーターが **[真]**の場合、ウィンドウが有効になります。このパラメーターが FALSEの場合、ウィンドウは無効になります。

戻り値

EnableWindow のメンバー関数が呼び出される前に状態を示します。戻り値は、ウィンドウが前に、無効になった場合はゼロです。戻り値は、ウィンドウが前に有効にするか、またはエラーが発生した場合は 0 です。

解説

入力が無効になると、マウス クリックやキーなどの入力は無視されます。入力が有効になっている場合、すべての入力を処理します。

有効な状態が変更されると、WM_ENABLE のメッセージは、この関数が返される前に送信されます。

無効にした場合、すべての子ウィンドウが暗黙的に WM_ENABLE のメッセージに送信されないが、無効になります。

ウィンドウはアクティブにする前に有効にする必要があります。たとえば、アプリケーションがモードレス ダイアログ ボックスを表示して、メイン ウィンドウを無効にする場合は、メイン ウィンドウは、ダイアログ ボックスが破棄される前に有効にする必要があります。それ以外の場合は、別のペインが入力フォーカスを取得し、アクティブになります。子ウィンドウが無効になっている場合、Windows がどのウィンドウにマウス メッセージを取得するかを決定するときに無視されます。

既定では、ウィンドウが作成されたときに有効になります。アプリケーションは [作成] または CreateEx のメンバー関数で最初に無効になるウィンドウを作成するに WS_DISABLED のスタイルを指定できます。ウィンドウが作成されると、アプリケーションは、ウィンドウを有効または無効にするために EnableWindow のメンバー関数を使用できます。

アプリケーションでは、ダイアログ ボックスのコントロールを有効または無効にするには、この関数を使用できます。無効なコントロールが入力フォーカスを受け取ることができませんユーザー アクセスは、できません。

使用例

//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog() 
{
   CFileDialog::OnInitDialog();

   CWnd* pWndParent = GetParent();

   //make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'

   //disables the 'file name' edit and static control
   //of the standard file open dialog

   //get handle of 'file name' combobox control & disable it
   CWnd* pWnd = pWndParent->GetDlgItem(cmb13);
   pWnd->EnableWindow(FALSE);

   //get handle of 'file name' static control & disable it
   pWnd = pWndParent->GetDlgItem(stc3);
   pWnd->EnableWindow(FALSE);

   return TRUE;
}

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

EnableWindow

CWnd::OnEnable