VC++6.0实现MFC单文档模拟交通灯

要求:

模拟交通灯:

(1)建立一个单文档应用项目(项目名称为学生姓名拼音首字母缩写)。

(2)修改它的图标和版本信息。

(3)为该应用项目添加两个按钮到工具栏中。

(4)在视图窗口中显示三个圆,通过使用不同颜色的画笔及画刷来模拟交

通红、绿灯。

设计思路及结果功能描述:

       根据考核题目及要求,设计的思路如下:先建立一个单文档应用项目,修改其版本信息和图标,为该应用项目添加两个按钮到工具栏中,分别命名为“开始”和“停止”,在视图窗口中显示三个圆,使用不同颜色的画笔及画刷给三个圆上色,同时添加一个倒计时显示,最后将这几个元素关联起来。倒计时到一定的时间时,红黄绿等分别交替亮起,模拟交通灯。

设计方案如下,建立单文档后,修改版本和图标,添加“开始”和“停止”按钮,完成上述的操作后在hy_traffic_lightView.h文件下,定义了time_queue结构体,包含红绿灯的标识nLight_statu以及灯亮的时间值nTimeOut,定义了当前时间current_time_index和计数时间 _time_count。定义一个名为time_queue的动态数组,在OnInitialUpdate函数中向该数组尾部添加元素,即灯的状态与持续的时间值,通过push_back从尾部添加新元素,实现对结构进行初始化操作,以及交通灯逻辑功能的设置。

       在OnTimer函数中,根据得到的TimeOut值进行数值的变化并且根据当前值使用switchLight显示当前灯的状态,即给绘制的图形上色。

       在OnDraw函数中,实现使用memDC进行绘图显示,获取屏幕的大小后,通过算法得到三个矩形的位置坐标与宽度等参数,再在drawLight上使用Ellipse画内切圆,设置视图的背景颜色以及初始化逻辑刷子,以及添加根据LightStatus标识决定三个圆颜色的语句,同时使用Format设置倒计时显示的输出位置与格式设置,最后使用BitBlt将图拷贝到屏幕上显示。

       使用OnControlStart开启定时器,整个视图开始工作,OnControlStop关闭定时器,整个视图暂停,重新开启时,又会恢复最初的状态运行。

其功能就与日常所见的交通灯相同,附加了停止和开始的按钮,点击“开始”时,红灯先亮,伴随着时间的倒数,倒数到一定时间后,转为黄灯亮,再转为绿灯亮,依次循环;点击“停止”时,暂停在当前状态,当再次点击 “开始”时,又会重新运行。

        【修改图标的方法可参考之前发的博客】

运行结果如下:

 

 

完整代码参考:https://download.csdn.net/download/baiyan_gjr521/10404669?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168802106116800180664728%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168802106116800180664728&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-10404669-null-null.142^v88^insert_down38v5,239^v2^insert_chatgpt&utm_term=MFC%E6%A8%A1%E6%8B%9F%E4%BA%A4%E9%80%9A%E7%81%AF&spm=1018.2226.3001.4187.3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32043.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创造未来:OpenAI为人工智能开辟新的道路

本文旨在探讨OpenAI的历史,从其创立到发展壮大的过程,重点关注OpenAI的着眼点和取得的成就。通过对OpenAI的分析,本文还探讨了未来AI发展的趋势和挑战。本文总共5000字,分为摘要引言、OpenAI的历史、OpenAI的成就与影响、OpenAI的…

全网最详细中英文ChatGPT-GPT-4示例文档-官网推荐的48种最佳应用场景——从0到1快速入门自然语言指令创建支付API代码(附python/node.js/curl命令源代码,小白也能学)

目录 Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求 python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载 ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回…

学 Rust 要几天?「GitHub 热点速览 v.22.51」

作者:HelloGitHub-小鱼干 本周的 GitHub Trending 非常给力,一是解决了 Rust 的学习问题,提供了一个全面的教学课程;二是提供了多个高性能工具,比如,为 PWA 而生的 atrilabs-engine,部署方便&am…

算力狂热时代的冷静之道:宁畅总裁秦晓宁分享企业的算力最优解

算力是数字化时代的生产力之源,近年来已经成为共识。所以,我们能看到各个层面对算力的追逐,无论是国家层面的政策利好,算力基础设施建设的加速,还是诸多行业和企业积极地增加算力部署,呈现出一片如火如荼的…

灵活、高效、智慧,宁畅发布新品及“智定+”战略

4月21日,2021宁畅新品暨战略发布会在京举办,宁畅发布了新品服务器“G40”系列,并推出 “智定”战略。该战略旨在智能时代为用户提供灵活、高效、智慧的定制化基础设施和服务。 图:2021宁畅新品暨战略发布会现场 宁畅总裁秦晓宁介…

科技云报道:ChatGPT的胜利,宣告知识图谱的消亡?

科技云报道原创。 过去10年,知识图谱可谓是最接近“人工智能”的概念。业内普遍认为,知识图谱的概念最先是由谷歌于2012年正式提出,主要用来支撑下一代搜索和在线广告业务。 此后,这项技术迅速火爆,被国内外多家搜索…

考研数学易错知识点 2021-08-06

考研部分知识点总结 目录 考研部分知识点总结连续,极限函数极限导数的应用与证明积分积分2微分方程构建辅助函数微分方程法构建辅助函数多元微分二重积分 线性代数向量与秩特征值特征值 连续,极限 连续 绝对值函数的导数性质三 阶梯函数导数 多项式和对…

显卡的一些总结

0.显卡架构 1.浮点数在计算机内存中的存储方式(FP32, FP64) 2.FP32 & TF32 TF32 采用了与半精度( FP16 )数学相同的10 位尾数位精度,这样的精度水平远高于AI 工作负载的精度要求,有足够的余量。同时, TF32 采用了与…

AI生成留学文书 [研讨直播]

相信很多留过学的同学知道留学申请有一大堆事情需要处理,个人陈述是其中一部分。今年AI让很多行业发生了颠覆性变化,留学申请也不例外,以下是我们通过MiX Copilot实现的文书撰写(文书案例放在末尾)。 如果你正打算申请…

全网最详细中英文ChatGPT-GPT-4示例文档-语句情绪分类从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门语句情绪分类应用场景 Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例 其它资料下载 ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字…

chatgpt赋能python:Python的图标长啥样?

Python的图标长啥样? Python是当今世界上最热门的编程语言之一。它因其易学易用、可读性强、功能强大等优点,被广泛地应用于机器学习、数据分析、Web开发等领域。而Python的标志也成为了许多程序员们最为熟悉的图标之一。那么Python的图标长什么样呢&am…

论文阅读-自指导self instruct:将语言模型与自生成的指令相结合

SELF-INSTRUCT: Aligning Language Model with Self Generated Instructions GitHub - yizhongw/self-instruct: Aligning pretrained language models with instruction data generated by themselves. Stanford Alpaca-ChatGPT平替 Stanford CRFM 小虎AI珏爷:…

用chatGPT增强SAP FICO功能 【现金流量预测】

如开发基于SAP银行的回单进行企业现金流量表的预测功能 promot :查询SAP中基于银行回单的现金流量预测 ABAP代码 REPORT z_cash_flow_forecast.* 获取当前日期 DATA: date TYPE dats. date sy-datum.* 获取最近6个月的银行回单 SELECT febep~belnr, febep~budat, febep~xblnr…

走近人工智能|NLP的语言革命

前言: 自然语言处理(NLP)是指使用计算机处理和理解人类语言的技术。 文章目录 自然语言序言背景适用领域技术支持应用领域程序员如何学总结 自然语言 序言 自然语言处理(Natural Language Processing,NLP&#xff09…

MinGW与Cygwin的学习和理解

笔者来聊聊MinGW的学习和理解 1、MinGW认识 MinGW:Minimalist GNU for Windows,GNU项目的for windows的迷你版。 MinGW是针对windows,对GNU 编译器进行的原生的移植,为了构建windows可移植程序,导入了相关的库和头文…

写作社区平台汇总(自媒体运营的素材来源和推文发送地)

文章目录 引言I 技术社区II 其他写作社区see also引言 所谓平台,不是只有大众知道的大平台,还有行业中热门的网站或APP。 必须具备的平台有知乎、百家号 、今日头条、抖音、快手、 大鱼号、 网易号、 搜狐号、 新浪号、 企鹅媒体、 东方号、 趣头条、 搜狗媒体、 360自媒体平…

微头条自媒体常见领域,好创作,快速实现自媒体变现

有些人认为,不写狗血不吐槽就没有流量。事实上,这是偏见。头条用户基数很大,任何形式的创作,都有大量有兴趣的读者。所以我们应该创作自己擅长的内容,并坚守自己的立场,接下来我们一起了解一下比较常见的微…

自媒体一键多平台分发工具,自媒体人必备

在谈到怎么运营自己的自媒体账号时,很多自媒体人觉得比较困难,因为他们要花费大量的时间与精力去经营,在不止一家自媒体平台拥有自己的账号是一件麻烦的事情,光是每个平台发布就需要很长的时间。于是我像他们推荐了我正在使用的融…

自媒体适合多平台发布,30+自媒体平台都可以一键发布!

现在越来越多的自媒体人员,为了获得全网曝光,都会注册开通10多个新媒体平台,如果你只分发图文,10个平台发完怎么的也得30分钟。如果你只分发视频,20个平台保底3小时,同时还得是都群发成功了,在达…

最靠谱的6个自媒体平台,也可以快速上手

现在自媒体发展已是相对成熟的阶段,很多朋友还想做自媒体,很明确地告诉你还不晚,只要你有创意,有出色的审美,什么时候都还不算晚,那么要选什么平台比较好了,小编给大家介绍比较好上手的自媒体平…