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();

猜你喜欢

转载自www.cnblogs.com/CowryGao/p/12345960.html