【MFC】EnableWindow:启用/禁用控件或窗口
01、目录
目录
- 01、目录
- 02、EnableWindow函数
- 2.1 函数原型
- 2.2 参数及返回值
02、EnableWindow函数
启用和禁用控件或者窗口(设置个控件或窗口可用或不可用)可以调用CWnd::EnableWindow()函数。
2.1 函数原型
//原型
BOOL EnableWindow(HWND hWnd,BOOL bEnable
);
2.2 参数及返回值
- HWND: 要启用或禁用的窗口的句柄。
- bEnable:指示是启用还是禁用该窗口。如果此参数是千真万确,窗口已启用。如果参数是假的窗口被禁用。
返回值
- 如果该窗口先前已被禁用,则返回值为非零。
- 如果以前没有禁用该窗口,则返回值为零。
如果窗口被禁用,系统将发送Wm_CANCELMODE留言。如果窗口的启用状态正在更改,系统将发送Wm启用之后的消息。Wm_CANCELMODE留言。(这些消息是在此之前发送的。EnableWindow)如果窗口已经禁用,则其子窗口将隐式禁用,尽管它们不会被发送到Wm启用留言。
在激活窗口之前,必须启用它。例如,如果应用程序正在显示无模式对话框并已禁用其主窗口,则应用程序必须在销毁该对话框之前启用主窗口。否则,另一个窗口将接收键盘焦点并被激活。如果禁用子窗口,则当系统试图确定哪个窗口应接收鼠标消息时,该窗口将被忽略。
默认情况下,在创建窗口时启用该窗口。若要创建初始禁用的窗口,应用程序可以指定WS禁用的样式CreateWindow或CreateWindowEx功能。在创建窗口之后,应用程序可以使用EnableWindow若要启用或禁用窗口,请执行以下操作。
应用程序可以使用此函数在对话框中启用或禁用控件。禁用控件无法接收键盘焦点,用户也无法访问它。
BOOL EnableWindow(BOOL bEnable = TRUE);
判断控件是否可用可以调用 CWnd::IsWindowEnable函数
BOOL IsWindowEnable();
栗子:
C++代码
//第一种写法:
CWnd *pWnd = GetDlgItem(IDC_EDIT1);
pWnd->EnableWindow(FALSE);
pWnd->EnableWindow(TRUE); //启用//第二种写法:
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE); //FALSE变灰(不可用)
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE); //TRUE变亮(可用),默认是TRUE
IsWindowEnable同理,一样的调用方式,这里不写。
总结:上述内容,借鉴自微软官方文档,例子均是自己举例。
版权声明:转载请注明出处,谢谢!
【MFC】EnableWindow:启用/禁用控件或窗口相关推荐
- EnableWindow(): 使某个控件或窗口可用
1)使某个控件或窗口可用/不可用 GetDlgItem(IDC_XX)->EnableWindow(false);//变灰,不可用,可见 GetDlgItem(IDC_XX)->Enabl ...
- MFC小笔记:控件随窗口变化
一.需求 当窗口大小变化时,如最大化.最小化时,控件位置和大小并没有变化,本文实现此功能. 二.界面 主界面为对话框,有最小化.最大化.关闭等功能. 三.原理 当窗口变化时,响应 OnSize 函数, ...
- MFC EnableWindow() 启用和禁用控件(设置个控件或窗口可用/不可用),ShowWindow()使某个控件或窗口(显示/不显示)可见/不可见
1. EnableWindow() 启用和禁用控件或者窗口(设置个控件或窗口可用或不可用)可以调用CWnd::EnableWindow()函数. BOOL EnableWindow(BOOL bEna ...
- MFC中动态创建控件以及事件响应实现方法
本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...
- MFC中动态创建控件以及添加事件响应
本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...
- VC MFC列表视图(CListCtrl)控件
VC MFC列表视图(CListCtrl)控件 列表视图控件 图标风格 CListCtrl类里要了解的函数 SetImageList为列表控件关联一个图像列表 InsertItem插入一项 GetSe ...
- [转载]裸写一个含内嵌IE控件的窗口
引言 之前也做过一些含内嵌IE控件的东西,只是一直用MFC/ATL等框架,对于里面的原理其实一知半解,只有脱离它们写一遍,才算能真正懂.前不久在写一个SkyDriveClient的时候正好有一个需求, ...
- MFC中的edit控件
edit control 编辑框 static control 静态文本框控件 Button 按钮控件 第一步,在VS2019中新建一个MFC项目: 第二步,打开资源视图,双击打开窗口,在工具栏中选择 ...
- mfc调取摄像头显示并截图_用OpenCV在MFC Dialog中Picture控件上显示摄像头采集实时视频...
OpenCV之所以能在MFC Dialog的Picture控件上绘图,全靠了CvvImage::DrawToHDC()方法.这就是下文为出现CvvImage和HDC的原因.下面是具体过程,用OpenC ...
最新文章
- Lifting Transformer: 基于跨步卷积Transformer的高效三维人体姿态估计
- HDU 1853 Cyclic Tour
- eclipse No projects are found to import 的解决
- Unity IOC + MVC 实例需要手动释放吗?
- ofbiz中的数据模型
- 蓝桥杯2016初赛-网友年龄-枚举
- python学生类出不来中文_Python 这类看起来学习门槛低的语言,是否真的适合入门编程学习?...
- 《C和指针》——stdarg宏简介
- 从科大讯飞跳槽到腾讯被判赔 1200 万;华为多款机型将取消充电器;苹果春季发布会定档4月21日|极客头条...
- 输入n个字符串字典序排序_30个Python奇淫技巧集
- C语言入栈算法,栈的入栈、出栈、获取栈顶的c语言算法
- 幸福框架:可扩展的应用程序 “启动引导” 框架
- C#编写串口监控软件的详细教程
- 安卓studio加载HTML文件,Android Studio 加载本地Assets中的html文件
- 汇编语言期末复习总结
- ansible-playbook 远程启动程序ansible结束后程序也被关闭
- 笔记 -- 时间复杂度 log2n
- 一次搞懂数据大屏适配方案 (vw vh、rem、scale)
- phpyun职位表“phpyun_company_job”添加字段,保存数据到数据库
- 手机web端唤醒qq客户端以及电脑web端唤醒qq客户端