在学习imgui给出的Demo中,自己手动实现了一下Widgets/Basic选项里面的组件,并且做了一些简单的修改。
在贴代码之前,简答说一下遇到的一点点坑:
Text系列函数显示汉字的解决方法,已经在另外一篇博客中阐述:【Imgui基础学习】组件的使用之Text
但是,有可能我们需要在代码里面使用我们输入的汉字
比如现在我们需要用户去输入一个文件名,然后使用用户输入的文件名去创建一个新的文件,但是我们之前显示汉字的方法是在字符串的前面加“u8”,这样字符串就会按照UTF-8的编码去显示,这个时候就能显示汉字。
但是当我们在代码里面使用的时候就会是乱码,这个时候创建出来的文件名字也是乱码,所以我们在使用输入的中文字符串之前,应该将其转为gbk编码。
下面是代码以及接口的一些注释:
// 这是一个utf-8转gbk文件的函数(网上找的,感觉可用,好人一生平安)
string Utf8ToGbk(const char *src_str)
{
int len = MultiByteToWideChar(CP_UTF8, 0, src_str, -1, NULL, 0);
wchar_t* wszGBK = new wchar_t[len