MFC编程之控件的禁用与激活
来源:互联网 发布:淘宝卖家名字大全 编辑:程序博客网 时间:2024/06/05 14:16
在写3DES文件加密的时候,我希望能让用户的输入符合标准的时候,能执行加密的功能,或者输入的文件类型是ept才能解密,于是便找到了控件禁用语激活
首先可以看到,我的加解密按钮设置为禁用状态
在我的程序里,如果输入两个密钥都是八字节的时候,
如果输入的文件是ept类型的,则可以加解密,如果不是则只能加密
注释的地方也可以用,这是两种不同的方法,
第一种是直接用GetDlgItem(控件ID)获取窗口句柄,然后调用EnableWindow()方法
第二种是给控件关联一个控件变量,通过空间变量的EnableWindow()方法来激活和禁用控件
本文后面附上EnableWindow()方法的百度百科解释
上图可以看到,在输入的密钥不规范的时候,加解密控件都是禁用状态
当两个密钥都是八字节时,因为此时文件路径未初始化,默认字符串不是ept文件,所以只有加密按钮被激活
当输入的文件是ept类型时,加解密按钮都被激活,一旦某个密钥长度被改了,则密钥输入框会被初始化为初始化字符串,加解密按钮都会被禁用
可以看到,控件的激活与禁用很简单,但是在某些程序中却可以得到更好的体验
附:
EnableWindow()函数
Windows API函数。该函数允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入。
函数功能
该函数允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入。
函数原型
BOOL EnableWindow(HWND hWnd,BOOL bEnable);
WINUSERAPI BOOL WINAPI
EnableWindow(
_In_HWNDhWnd,
_In_BOOLbEnable);
参数
hWnd:被允许/禁止的窗口句柄
bEnable:定义窗口是被允许,还是被禁止。若该参数为TRUE,则窗口被允许。若该参数为FALSE,则窗口被禁止。
返回值
在 EnableWindow 成员函数调用之前,指示状态。 如果窗口此前已禁用,则返回值是非零。 返回值是0,则窗口先前启用或错误。若想获得更多的错误信息,可调用GetLastError函数。
- MFC编程之控件的禁用与激活
- MFC 之 控件的禁用和启用
- 按钮的禁用与激活
- MFC 启用和禁用控件
- MFC 启用和禁用控件
- MFC 启用和禁用控件
- Easyui 控件的启用与禁用
- mfc自定义控件的编程
- VS2010/MFC编程入门之二十二(常用控件:按钮控件的编程实例)
- VS2010/MFC编程入门之二十二(常用控件:按钮控件的编程实例)
- VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)
- VS2013/MFC编程入门之二十二(常用控件:按钮控件的编程实例)
- MFC程序员的WTL指南之对话框与控件
- MFC常用控件编程之Check Box
- MFC对话框编程之控件删除
- MFC对话框控件禁用注意问题
- 控件禁用的方式
- MFC编程之常用控件:滚动条控件Scroll Bar
- 解决微信开发onclick事件不执行的问题
- android解析PDF、XPS文件的第三方类库muPdf
- Middle-题目16:230. Kth Smallest Element in a BST
- Unity3D学习日记(九) EasyMovieTexture视频播放插件使用浅谈
- linux常用基本命令之二十六 cut
- MFC编程之控件的禁用与激活
- 有关进度条 JProgressBar的应用
- JAVA中对存储过程的调用方法
- Middle-题目17:116. Populating Next Right Pointers in Each Node
- 在内部存储写文件
- HDU 5355 (构造 dfs剪枝)
- Java 常用排序算法 (详解)
- mysql和oracle查询排序
- 程序使用uci接口时没有uci.h的解决方法