原文地址:http://blog.csdn.net/zh516846937/article/details/6718888

在非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/jianyongjohnwang/p/6796909.html

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

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

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

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

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

  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. 配置Android开发环境(fedora)
  2. boost::graph::dimacs_basic_reader用法的测试程序
  3. mysql快速上手3
  4. JS - Object.create(prototype)方法
  5. c语言过磅系统,为什么要用无人值守_自动过磅系统?
  6. 圣诞海报设计没有思路,素材技巧都来了!
  7. android 线程池 怎么用,android中的线程池 怎么用
  8. 常用类 (五) ----- Date日期类和Calender日历类
  9. dial tcp 10.96.0.1:443: i/o timeout
  10. 啊哈c语言第四章 pdf,啊哈!算法 PDF扫描版[73MB]
  11. 软件测试 | 手把手教你如何使用 ABD调试工具,学不会算我的!
  12. 那些年我们一起错过赚钱时光 10年机会逐个数
  13. STM32项目设计:基于STM32F4的mp3、wav音乐播放器 (UCOSIII操作系统、GUI控件)
  14. Java类加载机制,类加载过程,类加载器以及双亲委派详解
  15. Flutter无限循环滑动的PageView
  16. python绘制太阳系_如何利用Python动态模拟太阳系运转
  17. Unity3D学习:射击小游戏——飞碟世界
  18. fork后父子进程共享资源
  19. python字典序列化是什么意思_python序列化中的字符串,列表,字典,类的序列化解释...
  20. 游戏3D建模要美术基础吗?

热门文章

  1. Java中的Iterator(迭代器)
  2. matlab实现 分段线性插值算法 piecewise linear interpolation
  3. HTML5 布加迪威龙跑车自动化制造过程模拟
  4. java中 try用法,Java里try catch的简单用法
  5. latex数学公式总结
  6. C++版本计算n阶乘末尾0的个数原理讲解及代码实现
  7. 基于 中国标准时间 的字符串格式转换
  8. DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02)
  9. 上班不开心,想裸辞又不敢提离职!
  10. python 判断字符串是否是汉字,数字,英语或其他