首页 > 其他分享 >MFC TreeView 控件的基本认识

MFC TreeView 控件的基本认识

时间:2024-01-27 13:44:20浏览次数:16  
标签:控件 MFC InsertItem HTREEITEM ABOUTBOX treeCtrl TreeView 节点

▲ 树控件

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

相关文章

  • MFC 模态对话框
    Frame消息:BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()ON_COMMAND(ID_DIALOG_EXEC,&CMainFrame::OnDialogExec)ON_COMMAND(ID_DIALOG_SHOW,&CMainFrame::OnDialogShow)ON_COMMAND(ID_DIALOG_32773,&CMainFrame::OnDialog3277......
  • MFC 右击菜单 右键菜单
    点击鼠标左键会出现弹式菜单:▲弹出菜单//鼠标左键按下voidCMy05_MenuView::OnLButtonDown(UINTnFlags,CPointpoint){//获取主菜单//CMenu*menu=GetMenu();//这个会直接报错//创建菜单项需要新创建一个,不能再视图直接获取框架的那个菜单CM......
  • MFC 根据定时器 ICON 移动 定时器的应用
    ▲会从做向右跑动构造函数:voidCMFCApplication1View::OnDraw(CDC*pDC){CMFCApplication1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);if(!pDoc)return;//绘制代码pDC->DrawIcon(x1,y1,icon[0]);pDC->DrawIcon(x2,y2+50,......
  • MFC 动态图标切换
    主要是学会获取应用实例,然后是定时器的使用。▲会一直变动,4个轮流滚。标题是属于框架的。头文件:private:HICONicon[4];构造函数:CMainFrame::CMainFrame()noexcept{//加载图标//获取应用程序icon[0]=AfxGetApp()->LoadIconW(IDI_ICON1);......
  • MFC 菜单路由事件,按钮可用不可用
    点击b会切换a可用状态:添加Menu选项a对应IDID_DEMO_A,b对应IDID_DEMO_B。弹式菜单无法编辑ID。▲右键添加事件处理程序▲路由传递路径frame给到view如果view处理好了,就返回给frame;如果没处理的话,view会给这个路由消息给doc,如果doc没有处理,再返回给......
  • MFC 定时器的简单用法
    View下两个消息事件:ON_WM_CREATEON_WM_TIMERBEGIN_MESSAGE_MAP(CMFCApplication1View,CView)//标准打印命令ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,&a......
  • MFC 插入符输入文字
    在View中,三个消息事件:BEGIN_MESSAGE_MAP(CMFCApplication1View,CView) //标准打印命令 ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT,&CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW,&CView::OnFilePrintPreview)......
  • C# 控件属性详解
    一、窗体(Form)属性详解1.布局AutoScroll:bool型,指示控件内容大于其可见区域时是否显示滚动条,初始为false。(注:当内容超出可见区域才显示滚动条,而不是一直显示滚动条)AutoSize:bool型,指示控件尺寸是否与其内容自适应,初始为false。Location:Point型,定义控件左上角相对于其容器左上角......
  • MFC 简单的绘图用法
    ▲效果在OnDraw函数中://CMFCApplication1View绘图voidCMFCApplication1View::OnDraw(CDC*pDC){CMFCApplication1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);if(!pDoc)return;/*a)定义画家b)定义画笔(画刷)CPen,CBrush......
  • MFC 画线
    ▲连续划线//鼠标是否按下标志点位变量private://是否按下boolm_isPress;//存点数据CPointm_myPoint;消息:BEGIN_MESSAGE_MAP(CMFCApplication1View,CView) //标准打印命令 ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint) ON_COMMAND(ID_......