下载lvgl,lvgl_drives,lvgl_demos相关文件
点击下载 提取码:hmry
新建一个文件夹lvgl_v8_similator_vs2019,再在此文件目录下创建一个VS2019控制台工程 将下载的lvgl,lvgl_drivers,lvgl_demos分别解压到lvgl_v8_similator_vs2019\lvgl_similator\lvgl_folder目录下
将lvgl_similator_v8_vs2019\lvgl_similator\lvgl_folder\lv_drivers目录下的lv_drv_conf_template.h文件复制到上一级目录,并重命名为lv_drv_conf.h,将lvgl_v8_similator_vs2019\lvgl_similator\lvgl_folder\lv_demos目录下的lv_demo_conf_template.h文件复制上一级目录,并重命名为lv_demo_conf.h,将lvgl_v8_similator_vs2019\lvgl_similator\lvgl_folder\lvgl目录下的lv_conf_template.h文件复制到上一级目录,并重命名为lv_conf.h
#include
#if _MSC_VER >= 1200
// Disable compilation warnings.
#pragma warning(push)
// nonstandard extension used : bit field types other than int
#pragma warning(disable:4214)
// 'conversion' conversion from 'type1' to 'type2', possible loss of data
#pragma warning(disable:4244)
#endif
#define IDI_LVGL 101
#include "lvgl/lvgl.h"
#include "lvgl/examples/lv_examples.h"
#include "lv_demos/lv_demo.h"
#include "lv_drivers/win32drv/win32drv.h"
#if _MSC_VER >= 1200
// Restore compilation warnings.
#pragma warning(pop)
#endif
int main()
{
lv_init();
if (!lv_win32_init(
GetModuleHandleW(NULL),
SW_SHOW,
800,
480,
LoadIconW(GetModuleHandleW(NULL), MAKEINTRESOURCE(IDI_LVGL))))
{
return -1;
}
lv_win32_add_all_input_devices_to_group(NULL);
lv_demo_widgets();
while (!lv_win32_quit_signal)
{
lv_task_handler();
Sleep(1);
}
return 0;
}
在C++预处理器中增加如下内容
_CRT_SECURE_NO_WARNINGS
UNICODE
#ifndef USE_WIN32DRV
# define USE_WIN32DRV 1
#endif
/**
* @file lv_demo_conf.h
* Configuration file for v8.1.0-dev
*
*/
/*
* COPY THIS FILE AS lv_demo_conf.h
*/
#if 1 /*Set it to "1" to enable the content*/
#ifndef LV_DEMO_CONF_H
#define LV_DEMO_CONF_H
/*******************
* GENERAL SETTING
*******************/
#define LV_EX_PRINTF 1 /*Enable printf-ing data in demoes and examples*/
#define LV_EX_KEYBOARD 1 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/
#define LV_EX_MOUSEWHEEL 1 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/
/*********************
* DEMO USAGE
*********************/
/*Show some widget*/
#define LV_USE_DEMO_WIDGETS 1
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 1
#endif
/*Printer demo, optimized for 800x480*/
#define LV_USE_DEMO_PRINTER 1
/*Demonstrate the usage of encoder and keyboard*/
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 1
/*Benchmark your system*/
#define LV_USE_DEMO_BENCHMARK 1
/*Stress test for LVGL*/
#define LV_USE_DEMO_STRESS 1
#define LV_USE_COMPONENT_EXAMPLES 1
/*Music player demo*/
#define LV_USE_DEMO_MUSIC 1
#if LV_USE_DEMO_MUSIC
# define LV_DEMO_MUSIC_SQUARE 0
# define LV_DEMO_MUSIC_LANDSCAPE 0
# define LV_DEMO_MUSIC_ROUND 0
# define LV_DEMO_MUSIC_LARGE 0
# define LV_DEMO_MUSIC_AUTO_PLAY 0
#endif
#endif /*LV_DEMO_CONF_H*/
#endif /*End of "Content enable"*/
修改lv_conf.h中的内容
# define LV_MEM_SIZE (1024U * 1024U) /*[bytes]*/
/*Use a custom tick source that tells the elapsed time in milliseconds.
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE /*Header for the system time function*/
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (GetTickCount()) /*Expression evaluating to current system time in ms*/
#endif /*LV_TICK_CUSTOM*/
/*Montserrat fonts with ASCII range and some symbols using bpp = 4
*https://fonts.google.com/specimen/Montserrat*/
#define LV_FONT_MONTSERRAT_8 0
#define LV_FONT_MONTSERRAT_10 0
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 0
#define LV_FONT_MONTSERRAT_20 0
#define LV_FONT_MONTSERRAT_22 0
#define LV_FONT_MONTSERRAT_24 0
#define LV_FONT_MONTSERRAT_26 0
#define LV_FONT_MONTSERRAT_28 0
#define LV_FONT_MONTSERRAT_30 0
#define LV_FONT_MONTSERRAT_32 0
#define LV_FONT_MONTSERRAT_34 0
#define LV_FONT_MONTSERRAT_36 0
#define LV_FONT_MONTSERRAT_38 0
#define LV_FONT_MONTSERRAT_40 0
#define LV_FONT_MONTSERRAT_42 0
#define LV_FONT_MONTSERRAT_44 0
#define LV_FONT_MONTSERRAT_46 0
#define LV_FONT_MONTSERRAT_48 0
/*Enable the log module*/
#define LV_USE_LOG 1
#if LV_USE_LOG
/*1: Show CPU usage and FPS count in the right bottom corner*/
#define LV_USE_PERF_MONITOR 1
/*1: Show the used memory and the memory fragmentation in the left bottom corner
* Requires LV_MEM_CUSTOM = 0*/
#define LV_USE_MEM_MONITOR 1
编译运行,效果图如下
点击下载