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