CWnd::EnableWindow

启用或禁用鼠标和键盘输入。

BOOL EnableWindow(
   BOOL bEnable = TRUE 
);

参数

  • bEnable
    指定特定窗口是否将启用或禁用。 如果此参数是 TRUE,窗口将启用。 如果此参数是 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;
}

要求

Header: afxwin.h

请参见

参考

CWnd 类

层次结构图

EnableWindow

CWnd::OnEnable