• MFC/QT 学习笔记(四)——MFC基于对话框学习控件(下)


    //5.列表控件 ListControl

    属性 报表模式 view:Report;添加变量

    //Cdemo5Dlg.cpp

    ps:资源视图 右键 类向导 成员变量 查看对象所属类

    // TODO: 在此添加额外的初始化代码
        //列表控件使用
        CString str[] = { TEXT("姓名"),TEXT("性别"), TEXT("年龄") };
        for (int i = 0; i < 3; i++) {
            //设置表头:索引,内容,对齐方式,列宽
            m_list.InsertColumn(i, str[i],LVCFMT_LEFT,100);
        }
        //设置正文
        //表头不算,索引从0开始
        //插入表格内容
        //m_list.InsertItem(0, TEXT("张三"));
        //设置其他数据
        //m_list.SetItemText(0, 1, TEXT("男"));
        for (int i = 0; i < 5; i++) {
            CString name;
            name.Format(TEXT("张三_%d"), i);
            m_list.InsertItem(i, name);
            //性别和年龄
            m_list.SetItemText(i, 1, TEXT(""));
            m_list.SetItemText(i, 2, TEXT("18"));
        }
        //设置属性 parameter:整行选中 | 网格显示
        m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

    //6.树控件 TreeCtrl

    属性 线Has Lines; 按钮Has Buttons;

     //Cdemo6Dlg.cpp

    资源视图 Icon 右键 添加资源 导入bmp

    // TODO: 在此添加额外的初始化代码
        //树控件使用:
        //1.设置图标
        //准备图标句柄
        HICON icons[4];
        icons[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
        icons[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
        icons[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
        icons[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
    
        //CImageList list;//必须保存住这个图片 写道 .h 文件中
    
        //创建图片集合:资源视图 Icon 右键 添加资源 导入 ;大小,色位,图片数量,图片空间;
        list.Create(30, 30, ILC_COLOR32, 4, 4);
        //添加具体的图片:
        for (int i = 0; i < 4; i++) {
            list.Add(icons[i]);
        }
        m_tree.SetImageList(&list,TVSIL_NORMAL);
    
        //2.设置节点
        HTREEITEM root = m_tree.InsertItem(TEXT("根节点"), 0, 0, NULL);
        HTREEITEM parent = m_tree.InsertItem(TEXT("父节点"), 1, 1, root);
        HTREEITEM sub1 = m_tree.InsertItem(TEXT("子节点1"), 2, 2, parent);
        HTREEITEM sub2 = m_tree.InsertItem(TEXT("子节点2"), 3, 3, parent);
    
        //设置默认节点
        m_tree.SelectItem(sub1);

    //属性 事件 TVN_SELCHANGED 节点间切换 触发事件

    void Cdemo6Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
    {
        LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
        // TODO: 在此添加控件通知处理程序代码
        *pResult = 0;
    
        //获取当前项
        HTREEITEM item = m_tree.GetSelectedItem();
        CString name = m_tree.GetItemText(item);
        MessageBox(name);
    }

    //7. 标签页 TabCtrl

    引用 TabSheet.h .cpp 添加到项目中;属性 Border:None ; Style:Child ;添加变量 类型 TabSheet

    //Cdemo7Dlg.h

    public:
        CTabSheet m_tab;
    
        CDlg1 dlg1;
        CDlg2 dlg2;

     //Cdemo7Dlg.cpp

        // TODO: 在此添加额外的初始化代码
        //添加标签页
        m_tab.AddPage(TEXT("系统设置"), &dlg1, IDD_DIALOG1);
        m_tab.AddPage(TEXT("系统管理"), &dlg2, IDD_DIALOG2);
        //显示
        m_tab.Show();
  • 相关阅读:
    iOS应用崩溃日志分析
    使用Crashlytics来保存应用崩溃信息
    Mac和iOS开发资源汇总
    简单配置PonyDebugger
    程序员的工作不能用“生产效率”这个词来衡量
    使用Reveal 调试iOS应用程序
    MySQL 笔记
    flex弹性布局
    回调函数
    微信小程序开发
  • 原文地址:https://www.cnblogs.com/CowryGao/p/12345960.html
Copyright © 2020-2023  润新知