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