最佳答案:
EnableWindow是一种计算机函数,该函数允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入。
详情介绍
EnableWindow是一种计算机函数,该函数允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入。

- 中文名
- EnableWindow
- 外文名
- EnableWindow
- 声明位置
- WinUser.h
- 返回值类型
- int
- 調用方式
- __stdcall
- 参数类型
- (HWND__*,int)
EnableWindow函数原型
BOOL EnableWindow(HWND hWnd,BOOL bEnable);
WINUSERAPIBOOLWINAPIEnableWindow(_In_HWNDhWnd,_In_BOOLbEnable);
EnableWindow参数
hWnd:被允许/禁止的窗口句柄
bEnable:定义窗口是被允许,还是被禁止。若该参数为TRUE,则窗口被允许。若该参数为FALSE,则窗口被禁止。
EnableWindow返回值
在 EnableWindow 成员函数调用之前,指示状态。 如果窗口此前已禁用,则返回值是非零。 返回值是0,则窗口先前启用或错误。若想获得更多的错误信息,可调用GetLastError函数。
EnableWindow其他信息
若窗口的允许状态将发生变化,WM_ENABLE消息将在Enblewindow函数返回前发送出去,若窗口已被禁止,它所有的子窗口也被禁止,尽管并未向子窗口发送WM_ENABLE消息。
窗口被激活前必须处于允许状态。比如,一个应用程序将显示一个无模式对话框并且已使该对话框的主窗口处于禁止状态,则在撤消该对话框之前须使其主窗口处于允许状态。否则,其他窗口将接受并被激活。若子窗口被禁止,则系统决定由哪个窗口接受鼠标消息时将忽略该窗口
缺省情况下,窗口被创建时被置为允许。若创建一个初始化为禁止状态的窗口,应用程序需要在CeateWindow或CeateWindowEX函数中定义WS_DISABLED样式。窗口创建后,应用程序可用EnbleWindow来允许禁止窗口。
应用程序可利用此函数允许/禁止对话框中的某个控件,被禁止的控件既不能接受键盘输入,也不能被用户访问,但不能禁用一个拥有输入焦点的控制项。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:Winuser.h;库文件:user32.lib。
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;
}


