在非MFC环境中如何使控件或者窗口禁用呢?起初是想通过发送消息来实现,但找来找去都木有找到控件禁用的消息(也是是博主木有找到的缘故),所以只能另辟蹊径,使用

EnableWindow这个函数,

该函数的函数功能为:允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入。

下面是它的函数原型:BOOL EnableWindow(HWND hWnd,BOOL bEnable);

参数:

hWnd:被允许/禁止的窗口句柄。

 

  bEnable:定义窗口是被允许,还是被禁止。若该参数为TRUE,则窗口被允许。若该参数为FALSE,则窗口被禁止。

 

  返回值:如果窗口原来是被禁止的,返回值不为零;如果窗口原来不是被禁止的,返回值为零。若想获得更多的错误信息,可调用GetLastError函数。

 

  备注:若窗口的允许状态将发生变化,WM_ENABLE消息将在Enblewindow函数返回前发送出去,若窗口已已被禁止,它所有的子窗口也被禁止,尽管并未向子窗口发送WM_ENABLE消息。

 

  窗口被激活前必须处于允许状态。比如,一个应用程序将显示一个无模式对话框并且已使该对话框的主窗口处于禁止状态,则在撤消该对话框之前须使其主窗口处于允许状态。否则,其他窗口将接受并被激活。若子窗口被禁止,则系统决定由哪个窗口接受鼠标消息时将忽略该窗口。

 

  缺省情况下,窗口被创建时被置为允许。若创建一个初始化为禁止状态的窗口,应用程序需要在CeateWindow或CeateWindowEX函数中定义WS_DISABLED样式。窗口创建后,应用程序可用EnbleWindow来允许禁止窗口。

 

  应用程序可利用此函数允许/禁止对话框中的某个控件。被禁止的控件既不能接受键盘输入,也不能被用户访问。

以上就是对这个函数的全部描述了,博主要指出的是在这个函数的两个参数中,主要是第一个参数窗口句柄的获取,由于在非MFC环境中,所以需通过父窗口句柄来获得控件的句柄:

::GetDlgItem(m_hWnd,IDC_BUTTON_DEL);   // IDC_BUTTON_DEL就是控件的ID

下面来谈谈下m_hWnd这个参数,MFC的窗口类均派生自CWnd类,而CWnd类持有一个HWND类型的成员m_hWnd,HWND是Win32窗口句柄类型。随意每个窗口类都有这么一个成员变量来记录本窗口的句柄。

转载于:https://www.cnblogs.com/yfz0/p/5825562.html

转:窗口启用/禁用功能函数EnableWindow的使用相关推荐

  1. 窗口启用/禁用功能函数EnableWindow的使用

    在非MFC环境中如何使控件或者窗口禁用呢?起初是想通过发送消息来实现,但找来找去都木有找到控件禁用的消息(也是是博主木有找到的缘故),所以只能另辟蹊径,使用 EnableWindow这个函数, 该函数 ...

  2. 转载:窗口启用/禁用功能函数EnableWindow的使用

    原文地址:http://blog.csdn.net/zh516846937/article/details/6718888 在非MFC环境中如何使控件或者窗口禁用呢?起初是想通过发送消息来实现,但找来 ...

  3. easyUI combobox启用禁用功能写法

    最开始用的是常规js写法, $(#Id).combobox('disabled'); 发现不可用,研究了好久好久,后面师傅说是不是easyui原本的写法覆盖了常规的js写法,一查,果然有相关的博客写到 ...

  4. 【MFC】EnableWindow:启用/禁用控件或窗口

    01.目录 目录 01.目录 02.EnableWindow函数 2.1 函数原型 2.2 参数及返回值 02.EnableWindow函数 启用和禁用控件或者窗口(设置个控件或窗口可用或不可用)可以 ...

  5. Python如何用TKinter搭建图形界面窗口,并通过多进程的方式调用功能函数

    用Python开发图形界面和程序时,经常会对图形界面的搭建感到失望,或许是由于对图形界面不熟悉的原因吧,总之一想到图形界面,就感觉会很费时.费力,编程的积极性大幅下降.最近,尝试用Tkinter创建了 ...

  6. 在该系统上全局禁用了虚拟打印功能,不会为该虚拟机启用此功能--解决办法

    问题描述:在开启此虚拟机时,提示在该系统上全局禁用了虚拟打印功能,不会为该虚拟机启用此功能. 解决办法:在VMware workstation页面依次点击 编辑--首选项--设备--启用虚拟机打印-- ...

  7. Android 启用/禁用蓝牙传输文件功能(不能影响蓝牙耳机听歌)

    修改记录[mt67xx_11.0] 1.启用/禁用蓝牙分享功能 private String setBtEnalbe(boolean enable) {if (enable)mDPM.clearUse ...

  8. Android 启用/禁用通过otg连接T卡功能

    1.调用方法: private String setSDOTGEnable(boolean enable) {if (enable)mDPM.clearUserRestriction(admin, U ...

  9. 利用openCV实现中值滤波自定义滤波窗口尺寸的功能(类似halcon中的median_rect函数功能)

    利用openCV实现中值滤波自定义滤波窗口尺寸的功能(类似halcon中的median_rect函数功能) 在halcon图像库中有一个常用的中值滤波算子median_rect: median_rec ...

最新文章

  1. CSE 3100 Systems Programming
  2. 前端基础JavaScript
  3. CSS 伪类与伪元素
  4. 【机器学习】主题模型
  5. 添加蜂窝注册表及永久存储
  6. Bash : 索引数组
  7. shell读取文件并且遍历输出
  8. xshell下载及连接Linux
  9. Eigen教程(4)之Array类和元素级操作
  10. gtx1050ti最稳定的驱动_笔记本1050ti显卡安装最新驱动版本 (415.27) 记录 NVIDIA显卡GeForce系列...
  11. 美国大数据工程师面试指南(建议收藏)
  12. SpringSecurity实战(五)-认证流程源码分析
  13. 支付沙箱环境测试和验签
  14. 项目协作管理平台-teambition和tapd--深度体验
  15. photoshop使用技巧_如何使用Photoshop创建逼真的漫画
  16. 从MySQL Bug#67718浅谈B+树索引的分裂优化
  17. html盒子移动动画代码,详解盒子端CSS动画性能提升
  18. 【leetcode个人练习记录】 滑动窗口的问题
  19. 利用python实现贪心算法-----摇摆序列
  20. 华为魔术magic2拆机图_荣耀Magic2拆解:蝶式五轨滑屏 + 前后六摄

热门文章

  1. hexo博客butterfly主题美化
  2. 内网穿透究竟解决的是什么问题 与代理的区别
  3. 基于HTML+css+js设计简易的汽车用户注册界面
  4. vscode远程连接服务器+上下传文件
  5. 通达信如何检测未来函数?
  6. 【魔方网表】魔方网表涉及到的公式整理
  7. ThinkPHP5通过composer安装Workerman安装失败问题(避坑指南)
  8. Python示例代码之按指定算法判断买卖点计算股票收益
  9. linux系统LAMP的实战应用
  10. 阿里巴巴校园招聘 —— 灵犀游戏开发测试岗笔试题目总结(菜鸡版解析)涉及知识点——十字链表、线程与堆栈、FTP、Telnet、红黑树、哈夫曼树、平衡二叉树、乐观锁、悲观锁、HTTP、NIM游戏