当前位置:
首页
文章
前端
详情

Dear ImGUI 使用指南

文档

  1. Dear IMGui

  2. 知乎

组件

 1) Com 如何设置动态字符串?

//char*pTest = "aaaa\0bbbb\0cccc\0dddd\0eeee\0\0";  用0 隔开所有的字符串。

const int iLength = 1024;
        char szTemp[iLength] = {0};
        //SafeMBSprintf(szTemp,iLength,"%s",pMainUserContainer->GetUser()->GetName().c_str());
        int iIndex = 0;
        int iLefeTempBuffSize = iLength;
        char *pTemPointer = szTemp;
        auto iSize = vecOppentName.size();
        for (int i = 0 ; i < iSize; i++)
        {
            pTemPointer = szTemp + iIndex;
            auto iSize = vecOppentName[i].size();
            SafeMemcpy(pTemPointer,iLefeTempBuffSize,vecOppentName[i].c_str(),iSize);
            iIndex += iSize;
            szTemp[iIndex] = 0;
            //This space is set to 0 for spilt
            iIndex ++;
            iLefeTempBuffSize = iLength - iIndex;

        }
        pTemPointer[iIndex++] = 0;
        pTemPointer[iIndex] = 0

ImGui::Combo(szPosition, &iShowGuardSelectIndex[j], szTemp);

字体

  1. 设置默认字体

                 ImGui::CreateContext();
    
                     ImGuiIO& io = ImGui::GetIO();
                     io.Fonts->AddFontDefault();
                     ImFont* font = io.Fonts->AddFontFromFileTTF("font\\FounderCN.ttf", 18.0f, NULL, io.Fonts->GetGlyphRangesChineseFull());
                     IM_ASSERT(font != NULL);
                     ImGui::GetIO().FontDefault = font;
                     ImGui_ImplDX11_Init(device,context);
                     ImGui_ImplWin32_Init(window->WndHandle());
                     ImGui_ImplDX11_CreateDeviceObjects()
    

2)输入中文必须采用utf8

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。