|
郁金香灬外挂技术
https://www.yjxsoft.com/
本教程视频1920*1080分辩率下观看最佳
VS2017+win10 64位 环境
郁金香老师:扣扣 150330575
欢迎大家参加 郁金香灬技术 游戏安全与外挂的研究学习。
兴趣是我们最好的老师
成长需要过程与循序渐进
兴趣+坚持+时间+优秀的教程会帮助你快速成功
交流扣扣群 29817979,9569245
学习目标:
树状节点控件
TreeNode
TreePop
字体高度
// ~ FontSize
IMGUI_API float GetTextLineHeight();
// - TreeNode functions return true when the node is open,
//in which case you need to also call TreePop()
//when you are finished displaying the tree node contents.
IMGUI_API bool TreeNode(const char* label);
IMGUI_API bool TreeNode(const char* str_id,
const char* fmt, ...) IM_FMTARGS(2);
// helper variation to easily decorelate the id from the displayed string.
//Read the FAQ about why and how to use ID.
//to align arbitrary text at the same level as a TreeNode() you can use Bullet().
IMGUI_API bool TreeNode(const void* ptr_id,
const char* fmt, ...) IM_FMTARGS(2); // "
void testlistbox2()
{
ImGui::Begin("testlistbox2");
// IMGUI_DEMO_MARKER("Widgets/List Boxes");
if (ImGui::TreeNode("List boxes"))
{
// Using the generic BeginListBox() API, you have full control over how to display the combo contents.
// (your selection data could be an index, a pointer to the object, an id for the object, a flag intrusively
// stored in the object itself, etc.)
const char* items[] = { "AAAA", "BBBB", "CCCC", "DDDD", "EEEE", "FFFF", "GGGG", "HHHH", "IIII", "JJJJ", "KKKK", "LLLLLLL", "MMMM", "OOOOOOO" };
static int item_current_idx = 0; // Here we store our selection data as an index.
ImGui::Text("listbox1:");
if (ImGui::BeginListBox("##listbox 1", ImVec2(-2,100)))
{
for (int n = 0; n < IM_ARRAYSIZE(items); n++)
{
const bool is_selected = (item_current_idx == n);
if (ImGui::Selectable(items[n], is_selected))
item_current_idx = n;
// Set the initial focus when opening the combo (scrolling + keyboard navigation focus)
if (is_selected)
ImGui::SetItemDefaultFocus();
}
ImGui::EndListBox();
}
// Custom size: use all width, 5 items tall
ImGui::Text("listbox2:");
if (ImGui::BeginListBox("##listbox 2", ImVec2(-FLT_MIN, 5 * ImGui::GetTextLineHeightWithSpacing())))
{
for (int n = 0; n < IM_ARRAYSIZE(items); n++)
{
const bool is_selected = (item_current_idx == n);
if (ImGui::Selectable(items[n], is_selected))
item_current_idx = n;
// Set the initial focus when opening the combo (scrolling + keyboard navigation focus)
if (is_selected)
ImGui::SetItemDefaultFocus();
}
ImGui::EndListBox();
}
ImGui::TreePop();
}
ImGui::End();
}
if (ImGui::TreeNode("Style"))
{
HelpMarker("The same contents can be accessed in 'Tools->Style Editor' or by calling the ShowStyleEditor() function.");
//BeginListBox EndListBox
ImGui::TreePop();
ImGui::Spacing();
}
//--------------+++++++++++++++++++----------------
void testTreeNode()
{
ImGui::Begin("testTreeNode");
if (ImGui::TreeNode("List boxes"))
{
{
if (ImGui::TreeNode("List boxes1"))
{
if (ImGui::TreeNode("List boxes2"))
{
if (ImGui::TreeNode("List boxes3"))
{
ImGui::TreePop();
}
ImGui::TreePop();
}
ImGui::TreePop();
}
}
{
if (ImGui::TreeNode("List boxesa1"))
{
if (ImGui::TreeNode("List boxesa2a"))
{
if (ImGui::TreeNode("List boxesa3"))
{
ImGui::TreePop();
}
ImGui::TreePop();
}
ImGui::TreePop();
}
}
{
if (ImGui::TreeNode("List boxes11"))
{
if (ImGui::TreeNode("List boxes22"))
{
if (ImGui::TreeNode("List boxes33"))
{
ImGui::TreePop();
}
ImGui::TreePop();
}
ImGui::TreePop();
}
}
ImGui::TreePop();
}
ImGui::End();
};
void testTreeNode2()
{
ImGui::Begin("testTreeNode");
if (ImGui::TreeNode("listId1","item>%d",__LINE__))
{
if (ImGui::TreeNode("listId1", "item>%d", __LINE__))
{
ImGui::TreePop();
}
if (ImGui::TreeNode("listId1", "item>%d", __LINE__))
{
ImGui::TreePop();
}
if (ImGui::TreeNode("listId2", "item>%d", __LINE__))
{
ImGui::TreePop();
}
ImGui::TreePop();
}
ImGui::End();
};
|
|