前言:
0. 在MFC中开发LVGL的优点是可以用多个Window界面做辅助扩展【类似GUIguider】
1.本文基于VC2022-MFC单文档框架移植lvgl8
2. gitee上下载lvgl8.3 源码,并将其文件夹改名为lvgl
lvgl: LVGL 是一个开源图形库,提供您创建具有易于使用的图形元素、漂亮的视觉效果和低内存占用的嵌入式 GUI 所需的一切。 - Gitee.com
步骤:
1.新建一个基于对话框的MFC应用程序,命名为LVGL_MFC [可以自定义]
2.将下载的lvgl源码放到刚新建的LVGL_MFC工程目录下
3. 设置VS工程的属性:取消C/C++ 预编译头 ;VC++目录包含目录 添加:$(MSBuildThisFileDirectory)lvgl;$(MSBuildThisFileDirectory)lvgl\src;$(IncludePath)
4.在解决方案资源管理器第一栏,点击“显示所有文件”,然后展开lvgl文件夹,在src文件夹右击选择“包含在项目中”。
5.在lvgl目录下将lv_conf_template.h改名为lv_conf.h
6.编译MFC工程,此时应该会出现一个空白的对话框。
7.在lvgl目录下新建文件夹my_porting,文件夹里新建lv_driver_mfc.cpp,并将examples文件夹下的lv_port_disp_template.c 和lv_port_indev_template.c 复制到my_porting目录中,然后两个C文件分别改名为lv_port_disp.c和lv_port_indev.c ;注意将这两个C文件里面开头的#if 0 改为 #if 1 ; 然后在my_porting后击选择“包含在项目中”
8.在lv_port_disp.c中修改如下:
/*********************
* DEFINES
*********************/
#ifndef MY_DISP_HOR_RES
//#warning Please define or replace the macro MY_DISP_HOR_RES with the actual screen width, def