▲ 树控件
OnInitDialog() 里面的一些基础操作。
BOOL CMFCApplication1Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != nullptr)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
HICON icons[3]; // 先加载三个 icon
icons[0] = AfxGetApp()->LoadIconW(IDI_ICON1); // 这些ID手动添加 ICON 资源
icons[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
icons[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
// 30,30 图片的宽度和高度 ILC_COLOR32 样式, 3,3 有多少图片写多少。
m_ImageList.Create(30, 30, ILC_COLOR32, 3, 3);
for (int i = 0; i < 3; ++i) {
m_ImageList.Add(icons[i]); // 图片列表增加图标
}
// 树控件设置图片
CTreeCtrl* treeCtrl = (CTreeCtrl*)GetDlgItem(ID_TREE_TEST);
m_TreeCtrl.SetImageList(&m_ImageList, TVSIL_NORMAL); // 界面关联的变量
// 给树创建节点
HTREEITEM root = treeCtrl->InsertItem(_T("根节点"), 0, 0, NULL);
HTREEITEM father = treeCtrl->InsertItem(_T("父节点"), 1, 1, root);
HTREEITEM son = treeCtrl->InsertItem(_T("子节点"), 2, 2, father);
HTREEITEM root1 = m_TreeCtrl.InsertItem(_T("根节点"), 0, 0, NULL);
HTREEITEM father1 = m_TreeCtrl.InsertItem(_T("父节点"), 1, 1, root1);
HTREEITEM son1 = m_TreeCtrl.InsertItem(_T("子节点"), 2, 2, father1);
// 设置某个几点被选中
treeCtrl->SelectItem(son); // 选中会呈现出展开
treeCtrl->SelectItem(father1);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
标签:控件,MFC,InsertItem,HTREEITEM,ABOUTBOX,treeCtrl,TreeView,节点
From: https://www.cnblogs.com/huvjie/p/17991355