好文档 - 专业文书写作范文服务资料分享网站

手把手教你MFC编程计算器

天下 分享 时间: 加入收藏 我要投稿 点赞

EN_SETFOCUS事件来响应这个鼠标消息。 EN_SETFOCUS为判断焦点事件(通俗点说,那便是判断光标在什么地方)

这样一来,一切逻辑都理顺了。我们用户用鼠标选择并点击编辑框的时候,我们用WM_LBUTTONDOWN消息去响应,然后与此同此,我们把响应的和EN_SETFOCUS联系起来,我们预设一个全局变量nEditFlag ,作为在EN_SETFOCUS函数里的一个 标记,并在鼠标点下的时候用nEditFlag 去表示编辑框目前被选定的状态,nEditFlag ==1 的时候我们就判断用户选择了编辑框1 ,再者当nEditFlag ==2的时候说明编辑框2被选定。

这里我告诉大家如何添加 事件 EN_SETFOCUS,由于EN_SETFOCUS是一个判断焦点的,所以对象应该是编辑框1和编辑框2里添加,所以我们回到对话框编辑页面。

“右键编辑框1”->点击“事件”-> “选择EN_SETFOCUS”(这里程序默认的响应函数是OnsetfocusEdit1)

依次类推我们也给编辑框2添加事件响应函数OnsetfocusEdit2,方法同上

如下图

设置好之后,我们还要做一些初始化工作,在程序运行之初,我们先初始化nEditFlag = 0;那么在哪里初始化呢?很简单,正如大家想的一样在OnInitDialog()内进行初始化

我们只需在OnInitDialog()函数中 加入一句

nEditFlag = 0;便可以了(如下图黑条字体部分)

////////////////////////////////////////////////////////////////////////////////

之后我们再为两个事件响应函数进行OnsetfocusEdit1()和OnsetfocusEdit2()添加代码

当用户选定编辑框1的时候,nEditFlag = 1;

当用户选定编辑框2的时候,nEditFlag = 2;

而鼠标消息WM_LBUTTONDOWN具体代码如下

//////////////////////////////////////////////////////////////////////////////

STEP 3(按键0~9的响应部分)

这里由于代码都大同小异,所以就用数字按钮1,2来进行简要说明

用if语句去判断标记常量 nEditFlag 从而给判断是m_num1还是m_num2进行操作

这里

m_num1是编辑框1内的数字

m_num2是编辑框2内的数字

剩下了3~9代码以上大同小异。

手把手教你MFC编程计算器

EN_SETFOCUS事件来响应这个鼠标消息。EN_SETFOCUS为判断焦点事件(通俗点说,那便是判断光标在什么地方)这样一来,一切逻辑都理顺了。我们用户用鼠标选择并点击编辑框的时候,我们用WM_LBUTTONDOWN消息去响应,然后与此同此,我们把响应的和EN_SETFOCUS联系起来,我们预设一个全局变量nEditFlag,作为在EN_SETFOCUS函数里
推荐度:
点击下载文档文档为doc格式
5ulmb0ep0y1wxgu8jpr7
领取福利

微信扫码领取福利

微信扫码分享