这是一个使用MFC开发关于设备控制的windows应用程序

通过该项目我学到的内容:

继承的好处

应用程序的界面是与应用程序的代码有一定的对应关系的,界面中不同的控件对应不同的类,首先就是需要一个对话框,那么在资源文件里有了对话框之后,与对话框ID之对应的源文件中会有一个继承于对话框的类,之所以能够在这个对话框上随意添加删除或者修改其中的某些子窗口正是因为这种继承关系,可以在继承的基础上对原来的东西进行丰富。

 

界面与代码的关系

界面上的控件或控件的内容一般都与代码中的变量是对应着的,如果要使界面中的值传递给用于保存它的变量,则需要使用UpdateData();同样,当需要界面及时展示其对应变量最新的值,需要使用UpdateData(FALSE);。UpdateData()更新数据,其中的参数TRUE或FALSE决定了更新的方式是界面向变量传值还是变量向界面传值。

当应用程序运行起来的时候不同的事件会触发不同的消息,应用程序内部通过接收到的消息决定自己该去执行哪一个方法。这里使用类向导是一个最好的选择,减少错误,提高速度。类向导能解决的问题最好使用类向导去解决,这会减少失误。

多线程

假如你因一件事一直脱不开身,这个时候就需要来一个帮手,程序也是这样,当有些特定的需要,比如音乐播放器,聊天软件等。在播放音乐的时候之所以还能进行浏览歌曲列表等其他操作,我想这里就用到多线程。

如何响应回车事件

在类中找到PreTranslateMessage(MSG* pMsg)虚函数,然后

{

if(pMsg->message==WM_KEYDOWN)//键盘按下?

{

if(pMsg->wParam==VK_RETURN)//是回车键?

{

//响应事件

/*如何编写在指定的编辑框中响应回车事件

步骤

1-选中指定编辑框右键打开类向导

2-选中指定编辑框的ID对应的EN_SETFOCUS消息,添加处理程序并编辑代码

3-可以定义一个类成员变量,在获得焦点的对应处理函数中,给定义的变量一个特殊的值。*/

if(条件){...};

}

if(pMsg->wParam==...){...};

}

}

如果不重载OnOK会导致回车关闭窗口。

void CClistBox_testDlg::OnOK()

{

if(条件)

{

Code;

}

}

MFC回车事件的更多相关文章

  1. jquery 回车事件

    简单地记下jquery实现回车事件,代码如下: 全局: $(document).keydown(function(e){ if(e.keyCode==13){ $(".login-li in ...

  2. jquery 键盘回车事件

    <input id="search" placeholder="输入要领用的资产条码" id="scanCode" type=&quo ...

  3. js-处理回车事件

    /**回车 */ function enterkey() { //兼容IE或其它其它浏览器 var event = arguments[0] || window.event; //兼容IE或其它浏览器 ...

  4. js 监听整个页面的回车事件

    JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;      ...

  5. EditText 监听回车事件 避免2次触发

    // 侦听回车事件 EidtText txtSN = (EditText) findViewById(R.id.txtSN); txtSN.setOnEditorActionListener(new ...

  6. 原 JS监听回车事件

    原 JS监听回车事件 发表于2年前(2014-06-04 10:16)   阅读(6101) | 评论(0) 11人收藏此文章, 我要收藏 赞0 1月16日厦门 OSC 源创会火热报名中,奖品多多哦  ...

  7. jquery响应回车事件

    简单地记下jquery实现回车事件,代码如下: 全局: $(function(){document.onkeydown = function(e){     var ev = document.all ...

  8. js登录页面的 回车事件

    js登录页面的 回车事件 js登录页面的 回车事件(2012-12-26 10:37:03)转载▼标签: jseventkey回车事件登录 分类: js.jquery  //回车事件 第一种docum ...

  9. 兼容IE与firefox火狐的回车事件(js与jquery)

    javascript 兼容IE与firefox火狐的回车事件 复制代码代码如下: <script language="javascript"> function key ...

随机推荐

  1. python tornado TCPserver异步协程实例

    项目所用知识点 tornado socket tcpserver 协程 异步 tornado tcpserver源码抛析 在tornado的tcpserver文件中,实现了TCPServer这个类,他 ...

  2. mysql解压缩版本的安装、初始化等

    https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html 启动或者暂停mysql服务: https://dev.mysq ...

  3. memcached企业面试题

    面试题如下: 1.Memcached是什么,有什么作用?Memcached是一个开源的,高性能的内存绶存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思. Memcached的作用:通 ...

  4. day3 自定义指令详解

    在angular中,Directive,自定义指令的学习,可以更好的理解angular指令的原理,当angular的指令不能满足你的需求的时候,嘿嘿,你就可以来看看这篇文章,自定义自己的指令,可以满足 ...

  5. JavaScript 中常见的内存泄露陷阱(摘)

    内存泄露是每个开发者最终都不得不面对的问题.即便使用自动内存管理的语言,你还是会碰到一些内存泄漏的情况.内存泄露会导致一系列问题,比如:运行缓慢,崩溃,高延迟,甚至一些与其他应用相关的问题. 什么是内 ...

  6. [LeetCode] Longest Harmonious Subsequence 最长和谐子序列

    We define a harmonious array is an array where the difference between its maximum value and its mini ...

  7. C++11 作用域内枚举

    enum class MyEnum{ P1 = , P2, P3, P4, P5 }; MyEnum myEnum = MyEnum::P2; 使用作用域的方式获取并限定P2的值.之所以要使用作用域, ...

  8. orabbix插件监控oracle表空间问题

    我们安装好orabbix插件后,查看Tablespaces监控项是发项值为none,第一反应是没监控成功,其实不然. 1.我们打开orabbix监控项参数的路径,下面为Tablespaces的sql代 ...

  9. codevs 3061 质子撞击炮②

    提交地址:http://codevs.cn/problem/3016/ 3016 质子撞击炮 II  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold     题目描 ...

  10. 线程基础(CLR via C#)

    1.线程基础  1.1.线程职责  线程的职责是对CPU进行虚拟化.Windows 为每个进程豆提供了该进程专用的线程(功能相当于一个CPU).应用程序的代码进入死循环,于那个代码关联的进程会&quo ...