mfc入门(简易计算器)

时间: 2023-08-27 18:05:26 浏览: 134

MFC入门可以通过制作一个简易的计算器来学习。你可以按照以下步骤来设计和实现这个简易计算器。

  1. 创建项目:在VS2017的MFC应用程序模板中创建一个新项目。

  2. 完成数字按键输入工作:首先,你需要判断是在第一个编辑框还是第三个编辑框输入数字。通过判断运算符(第二个编辑框)是否已经输入来确定。如果运算符未输入,则数字按键输入对第一个编辑框生效;如果运算符已输入,则数字按键输入对第三个编辑框生效。为了简化代码,你可以设置一个输入函数来统一处理数字的输入。

  3. 在代码文件中添加输入函数:在项目对话框的代码文件(通常是“项目名Dlg.cpp”)中添加下面的代码来定义数字的输入函数。

    void CMFCApplication1Dlg::input(char *a)
    {
     GetDlgItemText(IDC_EDIT2, str2); //判断第二个编辑框是否为空
     if (str2 == _T("")) //如果为空,则对第一个编辑框进行操作
     {
         str1 = LPCTSTR(a); //将输入的字符串转换为扩展字符串
         number1 = _ttof(str1); //将扩展字符串转换为数字
         SetDlgItemText(IDC_EDIT1, str1); //更新第一个编辑框
     }
     else //如果不为空,则对第三个编辑框进行操作
     {
         str3 = LPCTSTR(a);
         number2 = _ttof(str3);
         SetDlgItemText(IDC_EDIT3, str3);
     }
    }
    
  4. 在头文件的class中添加字段:在对话框的头文件(通常是“项目名Dlg.h”)中添加以下字段。这里的程序采用了Unicode编码格式,用于将字符转换为准确的数字。编码格式设置可以在项目的属性中进行。

  5. 运行程序:点击F5来运行程序,在前三个编辑框分别输入数字(如“1.2”)、运算符(+、-、*、/)和数字(如“2.3”),然后点击等号,你将在最后一个编辑框中得到计算结果。

这样,你就可以通过制作这个简易计算器来入门MFC编程。123

引用[.reference_title]

  • 1 2 3 MFC入门(简易计算器)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2allinsert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
向AI提问 loading 发送消息图标

相关推荐

大学生入口

大家在看

recommend-type

pcre-8.21.tar 安装lamp环境必备

pcre-8.21 安装lamp环境必备,下载后请解压缩文件。
recommend-type

ASP.NET Core 3.1中文教程.4524页.zip

看页数就知道有多详细 ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序。 使用 ASP.NET Core,您可以: 创建 Web 应用和服务、IoT 应用和移动后端。 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。 部署到云或本地。 在 .NET Core 或 .NET Framework 上运行。 .net core 3.1 正式版已发布,3.1 主要是对 3.0 的 bug 修复,以及一些小优化,而且作为 LTS 版本,建议大家升级。
recommend-type

Linux下rsync文件同步详解

本文档以实验的方式介绍RSYNC的基本使用/加密文件同步方式/rsync的两种模式以及使用sersync整rsync实现点到多点的自动化同步
recommend-type

该压缩包里是详细介绍下载和安装tableau的步骤:包括一、下载和安装Tableau、二、Tableau页面介绍等等

该压缩包里是详细介绍下载和安装tableau的步骤:包括一、下载和安装Tableau、二、Tableau页面介绍、三、Tableau绘制条形图、四、Tableau绘制直方图、五、数据预处理、六、绘制折线图、七、饼图与环形图、八、基本表、九、树形图、十、气泡图与词云、十一、Tableau制作标靶图、十二、Tableau制作甘特图、十三、Tableau进阶、十四、填充地图、十五、多维地图、十六、数据分(层级)结构、十七、数据分组、十八、计算字段、十九、人口金字塔、二十、范围-线图
recommend-type

C\C++ 500面试题 + c++ 经典100题.rar

这份是传智播客的宝贝C/C++编程的面试题,大家应该知道外面的书店根本看不到全部收集的是C与C++的编程的面试题的书卖吧,而我上传的这份就是,哪怕你做C/C++已经有两三年工作经验了,这书你也值得一看,你把里面的面试题做两遍,基本上进大公司是没问题的,想在C/C++开发行业有强势 含有两套 一个是800多页的---500道 一个是100多道

最新推荐

recommend-type

VS2010 MFC编程入门教程

VS2010 MFC编程入门教程是一套详细的教程,旨在帮助初学者掌握如何使用Visual Studio 2010进行MFC(Microsoft Foundation Classes)应用开发。MFC是微软提供的一个C++类库,用于简化Windows应用程序的开发,它封装了...
recommend-type

VS2010之MFC入门到精通教程[鸡啄米]-书签版.pdf

VS2010之MFC入门到精通教程 本教程旨在指导读者学习MFC界面编程,提供了从基础知识到高级应用的详细指南。通过本教程,读者可以学习VS2010/MFC开发环境的设置、MFC应用程序框架的构建、对话框的创建和使用、常用...
recommend-type

通俗易懂版基于MFC科学计算器

《基于MFC的科学计算器详解》 在计算机科学与编程领域,计算器开发是一个常见的实践项目,尤其是对于初学者来说,它能帮助理解基础的运算逻辑和界面交互设计。本篇文章将详细探讨如何利用Microsoft Foundation ...
recommend-type

VC++6.0MFC入门学习

【VC++6.0 MFC入门学习】 学习VC++6.0,特别是MFC(Microsoft Foundation Classes)框架,需要一定的基础知识和策略。首先,扎实的C/C++基础至关重要。这包括对C++语法的深入理解,如面向对象编程概念、模板、异常...
recommend-type

mfc\Visual_C++MFC入门

《Visual C++ MFC 入门》是一本针对C++编程者学习Microsoft Foundation Classes (MFC)库的指导书籍,适合初学者。MFC 是一个C++类库,它为Windows应用程序开发提供了一套框架,简化了Windows API的使用。 在第一章...
recommend-type

BGYR:压缩包子技术的核心突破

由于提供的信息非常有限,标题和描述均为"BGYR",标签为"C",同时仅有压缩包子文件的文件名称为"BGYR-main",因此很难提供一个详尽且相关的知识点分析。不过,我将尝试依据这些信息构建一些可能的知识点。 首先,标题和描述中的"BGYR"可能代表了一个专有名词、项目名称或者是某种缩写。由于缺乏上下文信息,很难确定其具体含义。然而,如果将其视为一个项目或者产品的名称,那么它可能涉及到软件工程、项目管理、软件开发流程、甚至是某个具体软件或工具的使用。 其次,标签"C"可能表示与C语言相关的开发。C语言是一种广泛使用的编程语言,被广泛应用于系统软件开发、嵌入式系统开发等领域。如果"BGYR"是一个与软件开发相关的项目,那么它可能涉及以下知识点: 1. C语言基础:包括语法、数据类型、控制结构、函数等基础概念。 2. C语言高级特性:指针、动态内存分配、文件操作、预处理器指令等。 3. C语言标准库:C标准库提供了各种函数用于字符串处理、数学计算、输入输出、时间日期处理等。 4. 编译和链接:了解C源文件如何通过编译器转换为可执行文件,以及链接过程中各编译单元的合并。 5. 调试技巧:使用调试工具(如GDB)来诊断和修复程序中的错误。 6. 软件开发流程:可能涉及需求分析、设计、编码、测试、部署和维护等阶段。 7. 版本控制:如果"BGYR"项目正在使用版本控制系统,那么C语言开发者可能会用到Git等工具。 由于文件名称"BGYR-main"暗示了可能存在的主文件或核心文件夹,它可能包含以下内容: 1. 源代码:项目的主体代码,包括主要程序、库文件或模块。 2. 构建脚本:可能是makefile,用于自动化编译、链接以及构建过程。 3. 配置文件:包含编译器选项、预处理器宏定义等,用于定义程序的编译环境。 4. 文档:项目的说明文档、使用手册或是开发文档。 5. 测试文件:包含用于验证程序功能和性能的测试用例。 综上所述,尽管信息不足以明确指出"BGYR"的具体含义,但如果将其视作软件开发项目,上述知识点则与之相关,涵盖了从基础的C语言编程到软件开发的整个生命周期。如果"BGYR"实际上指的是一个具体的软件或工具,那么这些知识点仍然能够提供对它的开发背景和可能涉及技术的一个基本理解。
recommend-type

集成电路制造中的互扩散效应分析:理论与实验的融合

# 摘要 互扩散效应是影响集成电路性能的关键因素之一,涉及材料中的物质如何通过扩散过程影响彼此的分布和浓度。本文首先概述了互扩散效应的基本理论,
recommend-type

margin 0px 0px 28px是什么意思

<think>嗯,用户问的是“margin 0px 0px 28px是什么意思”,首先我得确定这是在哪个上下文中使用的。通常,margin属性常见于CSS中,用来设置元素的外边距。不过用户可能对CSS的语法不太熟悉,所以需要详细解释。 首先,我应该回忆一下CSS中margin的语法规则。margin属性可以接受1到4个值,分别对应不同的边距方向。例如,一个值表示所有四个方向,两个值则是上下、左右,三个值的话可能有问题,或者需要进一步确认。但用户给出的值是三个:0px 0px 28px,这可能是个错误,因为标准的margin接受1、2或4个值。不过也有可能用户是从某个具体代码中看到的,可能有特
recommend-type

Node.js格式化程序提升ECS日志结构化与Elasticsearch集成

根据给定文件信息,以下是从标题、描述、标签、以及压缩包文件名称列表中提炼出的相关知识点: 标题知识点: 1. ECS格式化程序:该标题中的"ECS"指代Elastic Common Schema,它是一种日志数据模型,用于Elasticsearch、Logstash和其他Elastic Stack组件,以实现日志的标准化。"格式化程序"意味着该Node.js库的主要作用是将应用程序产生的日志数据转换成ECS兼容的结构化格式。 2. 弹性通用架构(ECS)日志记录:该描述说明了此库是为处理与ECS兼容的结构化日志而设计的,目的是便于用户将日志信息直接发送到Elasticsearch,并通过Elastic Stack工具进行集中化的日志管理和分析。 描述知识点: 1. 结构化日志:这是一种日志记录方法,它将日志数据以结构化的格式(如JSON)存储,使得日志的分析、搜索和监控更为高效。 2. Elasticsearch:是一个开源的搜索引擎,常与日志分析工具Logstash、可视化工具Kibana一起被称为ELK Stack(现在称为Elastic Stack)。Elasticsearch用于存储和检索结构化数据,是分析日志数据的重要组件。 3. Beta版本软件包:意味着当前版本的库可能还处于开发阶段,未来可能会有不兼容的更新。用户在使用过程中需要留意文档和更新日志,以便了解可能的变更。 4. 日志记录框架支持:描述中提到了“通过( )”三次,虽然未给出具体的日志框架名称,但从标签中可以得知,这个库支持"Winston", "Pino", 和 "Morgan"等流行的Node.js日志记录库。 标签知识点: 1. formatter:在编程和日志记录中,格式化程序通常负责将数据转换成特定的格式,如JSON或XML,以便于存储或传输。 2. logger:日志记录器,是日志系统中用于记录日志信息的组件。 3. winston:是一个灵活的日志记录库,支持多种传输方式,易于集成和扩展。 4. pino:这是一个高速、简单且基于流的日志库,它将日志作为JSON格式输出。 5. morgan:一个基于Node.js的HTTP请求日志记录器中间件,常用于Express应用程序。 6. ecs-logging:指的是专门处理ECS日志的库或工具。 7. JavaScript:作为Node.js的主要编程语言,该标签表明这个库是用JavaScript编写的,运行在Node.js环境中。 压缩包子文件名称列表知识点: 1. ecs-logging-nodejs-master:表明这是一个名为"ecs-logging-nodejs"的Node.js库的主分支源代码压缩包,是用户下载和使用该库的直接方式。 总结而言,ecs-logging-nodejs是一个为Node.js应用提供日志格式化功能的库,旨在将应用程序日志记录为Elastic Common Schema兼容的格式,并支持多种流行的日志记录框架。它允许开发者将结构化日志直接发送到Elasticsearch,为日志管理和分析提供便利。尽管该库目前仍处于Beta版本,但为日志格式化和集中管理提供了有价值的工具。
recommend-type

外延工艺改进:提升集成电路制造效率的秘籍

# 摘要 集成电路制造是现代电子工业的基石,而外延工艺作为其核心环节,对于集成电路的性能和质量具有决定性作用。本文综述了集成电路外延工艺的理论基础、实践技术及优化策略,并探讨了制造效率提升的途径。通过对外延层生长机制、技术分类及其质量评估方法的分析,深入讨论了提升外延层均匀性和缩短工艺周期的技术手段。此外,本文还讨论了新兴技术对外延工艺的影响,行业
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部