共用方式為


CWnd::EnableWindow

啟用或停用滑鼠和鍵盤輸入。

BOOL EnableWindow(
   BOOL bEnable = TRUE 
);

參數

  • bEnable
    指定視窗是否要啟用或停用。 如果此參數為 , Windows 會啟用。 如果此參數為 ,視窗就會停用。

傳回值

EnableWindow 呼叫成員函式之前,指示的狀態。 如果視窗已停用,則傳回值為非零的值。 傳回值為 0,如果視窗之前啟用或發生錯誤。

備註

當輸入停用時,輸入 (例如按下滑鼠按鍵和會被忽略。 當輸入啟用時, Windows 會處理所有的輸入。

如果已啟用狀態變更時, WM_ENABLE 傳送訊息,則函式傳回之前。

如果停用,所有子視窗基本上會停用,不過,它們不是傳送的 WM_ENABLE 資訊。

視窗中,在它啟動之前,必須啟用。 例如,如果已設定,則應用程式會顯示非強制回應對話方塊和停用它的主視窗,必須啟用主視窗,再終結此對話方塊。 否則,另一個視窗中取得輸入焦點並啟動。 如果子視窗停用,則會忽略這個引數,則視窗嘗試判斷哪個視窗應該接收滑鼠訊息。

根據預設,在建立時, 視窗中啟用。 應用程式在 建立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;
}

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

EnableWindow

CWnd::OnEnable