首页 > 其他分享 >流水账——利用MFC开发的小软件

流水账——利用MFC开发的小软件

时间:2022-12-26 18:05:37浏览次数:69  
标签:流水账 触发 MFC 控件 对象 内核 软件 图标


本篇是记录硕士期间开发的小软件。图形界面是基于MFC开发的,其中利用了​​OpenCV​​还有MySQL数据库。下面开始记录流水账式开发过程:

MFC框架

新建MFC项目,基于单文档,MFC标准项目,去掉工具栏

流水账——利用MFC开发的小软件_MFC

流水账——利用MFC开发的小软件_html_02


由于微软在VS2013中不建议使用C/C++的传统库函数scanf、strcpy、sprintf等函数,所以直接使用这些库函数会提示C4996错误。VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C/C++函数。要想继续使用此函数,需要添加_CRT_SECURE_NO_WARNINGS预定义。或(项目->属性->C/C++预处理器->预处理器定义,添加_CRT_SECURE_NO_WARNINGS)设置窗口属性

设置图标

打开资源视图,添加本地ICO图标,在res文件夹中添加图标资源

流水账——利用MFC开发的小软件_html_03

流水账——利用MFC开发的小软件_.net_04


流水账——利用MFC开发的小软件_MFC_05


流水账——利用MFC开发的小软件_.net_06


流水账——利用MFC开发的小软件_html_07


流水账——利用MFC开发的小软件_html_08


流水账——利用MFC开发的小软件_.net_09

//设置图标 IDI_ICON_SECLITE为图标资源ID
SetClassLong(m_hWnd, GCL_HICON, (LONG)AfxGetApp()->LoadIconW(IDI_ICON_SECLITE));
//设置右侧标题
SetTitle(TEXT("Version 1"));
//设置窗口位置和大小 (0,0)起点坐标x,y (800,500)窗口宽度和高度
MoveWindow(0, 0, 800, 500);
//将窗口移动到屏幕中央
CenterWindow();

利用上面的过程新建自己的项目界面,如下:

流水账——利用MFC开发的小软件_html_10



搭建内部框架

流水账——利用MFC开发的小软件_c++_11


流水账——利用MFC开发的小软件_.net_12


流水账——利用MFC开发的小软件_html_13


流水账——利用MFC开发的小软件_内核对象_14


流水账——利用MFC开发的小软件_.net_15










树控件切换时会触发TVN_SELCHANGED消息(指定选定项从一项变为另一项)



IDD_DIALOG_AUTHEN













CUserDlg 初始化m_user变量和m_name变量,并使用UpdateData将变量值显示到输入框控件中


没有OnInitialDalog()函数,使用下面函数试试效果,效果是显示出来后又被默认背景刷新掉

流水账——利用MFC开发的小软件_c++_16



在初始化中画一次,则在后序的消息中,很有可能会导致各控件重画,这样就会把你原本画好的内容给刷掉了。

要么是放在对话框的OnPaint()中画,要么是放在picture control的子类中画,建议是放在picture control的子类中画,这样就会更好。

添加类CEployeePicture继承自CFromView,重载OnPaint()函数,对画框进行更新

流水账——利用MFC开发的小软件_html_17


不可行

重写CAutheDlg类的OnDraw方法,加入对图片的显示


更改静态控件static text中的值
GetDlgItem(IDC_DATA)->SetWindowTextW(data1);


List Control
报表模式

流水账——利用MFC开发的小软件_.net_18

流水账——利用MFC开发的小软件_内核对象_19

流水账——利用MFC开发的小软件_c++_20


流水账——利用MFC开发的小软件_MFC_21

流水账——利用MFC开发的小软件_.net_22


流水账——利用MFC开发的小软件_html_23


流水账——利用MFC开发的小软件_c++_24

流水账——利用MFC开发的小软件_MFC_25


流水账——利用MFC开发的小软件_html_26



流水账——利用MFC开发的小软件_内核对象_27


流水账——利用MFC开发的小软件_html_28

流水账——利用MFC开发的小软件_html_29

流水账——利用MFC开发的小软件_html_30


流水账——利用MFC开发的小软件_.net_31


流水账——利用MFC开发的小软件_c++_32


流水账——利用MFC开发的小软件_MFC_33


流水账——利用MFC开发的小软件_html_34


流水账——利用MFC开发的小软件_html_35


用内核对象进行线程同步
几乎所有内核对象都可以用来进行同步,对线程同步来说,这些内核对象中的每一种要么处于触发(signaled)状态,要么处于未触发(nonsignaled)状态。Microsoft为每种对象创建了一些规则,规定如何在这两种状态之间进行转换。例如,进程内核对象在创建的时候总是处于未触发状态。当进程终止时,操作系统会自动使进程内核对象变成触发状态。当内核对象被触发后,将永远保持这种状态,再也不会变回到未触发状态。(进程内核对象的内部有一个布尔变量,当系统创建内核对象的时候会把这个变量的值初始化为FALSE(未触发)。当进程终止的时候,操作系统会自动把相应的内核对象中的这个布尔值设为TRUE,表示该对象已经被触发)。

流水账——利用MFC开发的小软件_内核对象_36

​https://fishc.com.cn/forum.php?mod=viewthread&tid=78658&typeid=502​

串口部分

流水账——利用MFC开发的小软件_MFC_37



最终效果

流水账——利用MFC开发的小软件_内核对象_38


流水账——利用MFC开发的小软件_html_39


标签:流水账,触发,MFC,控件,对象,内核,软件,图标
From: https://blog.51cto.com/feishujun/5969604

相关文章

  • Xmind 2022 for Mac(思维导图软件) 22.11.2556中文版
    Xmind2022forMac是一款全功能的思维导图软件,拥有专业实用的功能,包括思维管理、商务演示、与办公软件协同工作等功能,让您的办公更有效,还加入了演讲模式,在演说模式可自动生......
  • 云端办公后,协同软件也能轻松做好项目管理
    最近很多朋友在后台问我,数字化移动办公环境下如何做好项目管理,但是问题不够聚焦,所以我决定从自己的理解出发,分享一下项目管理的一些心得。需要说明的是,传统项目管理和互联......
  • Mac使用辅助屏幕或者外界屏幕,截图软件推荐xnip
    1之前使用snip用来截图,如果是没有外界显示器,可以很好的截图,但是外接显示器后就不行了。 2使用xnip就很好的解决了这个问题,没有不能截图的问题了快捷键自己设置把,我设......
  • peaZip 多平台解压缩软件
    peaZip多平台解压缩软件PeaZip是跨平台基于FreePascal的解压缩软件。可以运行在Linux系统和Windows系统。支持鼠标右键操作。peazip本身有一种原生的压缩格式叫做pea。......
  • Echosync 一款非常优秀的文件夹同步和备份软件
    Echosync一款优秀的文件夹同步和备份软件通过执行差异数据备份、文件同步,这样可以避免传递自上次备份以来所做的更改,Echosync能够检测到移动或重命名自上次备份的文件。......
  • CentOS 6.0 图形(图解)安装教程、基本配置、网络配置、软件源配置、安装压
    一.准备安装CentOS61.CentOS简介CentOS是甚么?CentOS是一个基于RedHat企业级Linux提供的可自由使用的源代码企业级的Linux发行版本。每个版本的CentOS都会获得七年......
  • 手机桌面记事本便签软件有哪些?
    如果你想要随时随地记录一些事情,例如别人交代给你指定时间需要完成的待办事项、一闪而过的灵感、一些比较重要的事项等,你会如何记录呢?以前很多人会使用纸质的记事本或笔记......
  • 软件调优方法有哪些?看看飞腾技术专家怎么说 | 龙蜥技术
    编者按:飞腾作为国内CPU设计的领先企业,其CPU在各行各业已经获得的广泛应用。为了广大客户更好的使用CPU、更好的提升性能,本文将详细介绍飞腾服务器CPU的性能调优原理......
  • tg筛号软件新增功能:支持Tg群成员提取
    tg大家应该都清楚,这是一个国外的聊天软件,加密性强,非常的安全可靠,所以积累了很多的用户群体,大部分做跨境的卖家都会在tg上做营销。TG筛号软件是一款筛选国外主流平台......
  • 2021 年 GitHub 最佳开源软件榜单
    作为一家信息技术媒体公司,InfoWorld成立于1978年,目前隶属于IDG。每年。InfoWorld都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”(BOSSI......