文档
1) Dear IMGui
2) 知乎
组件
1) Com 如何设置动态字符串?
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