如何使用创建ImGUI并添加中文显示和输入支持

时间:2024-10-14 14:48:09

1、从github上下载dear ImGUI库源文件,并解压。注:本文实例使用源码目录中的directx9的example工程源码。使用visual c++创建一个Windows桌面应用程序。(不是控制台应用程序),工程名字命名为App,删除向导自动产生的App.cpp文件。

2、添加Imgui源码目录中的imconfig.h, imigui.cpp,imgui.h,imgui_demo.cpp,imgui_draw.cpp,imgui_internal.h,imgui_widgets.cpp,imstb_rectpack.h,imstb_textedit.h,imstb_truetype.h文件到工程中。

3、添加源码examples目录下imgui_impl_win32.h,imgui_imple_win32.cpp,imgui_impl_dx9.h,imgui_impl_dx9.cpp文件到工程文件中。

4、在解决方案中,选中所有cpp文件,点击右键,设置文件属性,设置“不使用预编译头”,否则编译项目,编译器会报缺少预编译头文件“stdafx.h”。

如何使用创建ImGUI并添加中文显示和输入支持

5、修改源文件“imgui_impl_dx9.cpp”文件,添加d3d9库文件。我这里使用代码#pragma comment(lib,"d3d9.lib"),也可以在工程选项里添加d3d9.lib。然后编译工程,即可生成对应的imgui示例文件。

6、如要添加中文支持,首先要有中文字体,另箍鲂遥哒外添加对应的代码。在app.cpp文件中ImGui::StyleColorsDark()下面添加io.Fonts->AddFontFromFileTTF("c:/windows/fonts/simhei.ttf", 13.0f, NULL, io.Fonts->GetGlyphRangesChineseSimplifiedCommon());(注:simhei.ttf支持中文,其余字体文件不一定支持中文,否则显示出现?)在显示Hello,world的地方,改为如下代码。ImGui::Begin(u8"Hello, 中文测试world!");

如何使用创建ImGUI并添加中文显示和输入支持

7、重新编译工程,可以看到,demo界面上可以显示中文字体,在input text输入框也可以正常输入中文字体了。

如何使用创建ImGUI并添加中文显示和输入支持
© 手抄报圈