精通Visual.Cpp实效编程280例

 

 

注意,本随笔是根据书籍 《精通Visual.Cpp实效编程280例》而来,亲尊重原作者版权,如果需要参考书籍的代码,请注意标注代码出处

 

 

 

Chapter 5

MFC 层次结构图:

 

5.19 Example 88 -- 列表视图的使用

MFC的CListView类实现了列表视图,调用CListView::GetListCtrl函数可以获得列表视图控件的引用。

GetListCtrl函数的定义:

CListCtrl& GetListCtrl( ) const;

编程步骤:

1. 建立一个多文档视图的应用程序,名称Example88,在建立向导中注意选择视图类的基类为CListView

2. 在CExample88View类中添加成员函数,代码如下:

void CExample88View::InitList()
{
    //获得列表视图控件
    CListCtrl *pList = &GetListCtrl();
    //设置列表控件的显示格式
    pList->ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST, LVS_REPORT);
    pList->SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);

    //在列表视图中插入列
    for (int n=0; n<4; n++)
    {
        CString strColumeHeading = _T("");
        strColumeHeading.Format(_T("Cloume %d"), n);
        pList->InsertColumn(n, strColumeHeading, 100, 100);
    }
    //在列表视图中插入行
    for (int m=0; m<10; m++)
    {
        CString strItem = _T("");
        strItem.Format(_T("Item %d"), m);
        pList->InsertItem(m, strItem);
        for (int n=0; n<4; n++)
        {
            CString strText = _T("");
            strText.Format(_T("SubItem %d %d"), m, n);
            pList->SetItemText(m, n, strText);
        }
    }
}

3. 在CExample88View类的OnInitialUpdate函数中添加初始化列表视图代码:

void CExample88View::OnInitialUpdate()
{
    CListView::OnInitialUpdate();


    // TODO: 调用 GetListCtrl() 直接访问 ListView 的列表控件,
    //  从而可以用项填充 ListView。
    InitList();
}

4. 运行程序,效果如下:

 5.20 Example89 -- 树形视图的使用

MFC的CTreeView类提供了树视图。调用CTreeView::GetTreeCtrl函数可以获得树控件的引用

 

编程步骤:

1. 建立一个多文档视图的应用程序,名称为Example89,在建立向导中注意选择视图类的基类为CTreeView

2. 在CExampole89View类中添加成员函数,代码如下:

void CExample89View::InitTree()
{
    //获得树形控件
    CTreeCtrl *pTree = &GetTreeCtrl();
    //给树形控件添加连线和按钮 pTree->ModifyStyle(0, TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS); CString strText = _T(""); //在树中插入项 HTREEITEM hRoot = pTree->InsertItem(_T("Root")); for (int i=0; i<4; i++) { strText.Format(_T("Item %d"), i); //在树中插入项 HTREEITEM hParent = pTree->InsertItem(strText, hRoot); for (int j=0; j<5; j++) { strText.Format(_T("SubItem %d %d"), i, j); pTree->InsertItem(strText, hParent); } //展开树 pTree->Expand(hParent, TVE_EXPAND); } //展开树项 pTree->Expand(hRoot, TVE_EXPAND); //选择树项 pTree->Select(hRoot, TVGN_CARET); }

3. 在CExample88View类的OnInitialUpdate函数中添加初始化列表视图代码:

void CExample89View::OnInitialUpdate()
{
    CTreeView::OnInitialUpdate();

    //初始化树控件
    InitTree();
}

 4. 运行程序,效果如下:

 

转载于:https://www.cnblogs.com/SunnyD/p/7751367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精通Visual C++实效编程280》光盘源代码 精通Visual C++实效编程280(附光盘)的目录介绍 内容介绍 作者介绍 目录介绍 商品目录: 返回商品页面 第1章 窗口   1.1 实1:通过HWND获得CWnd指针   1.2 实2:获得应用程序主窗口的指针   1.3 实3:获得指定点的窗口   1.4 实4:最大化和最小化窗口   1.5 实5:关闭窗口   1.6 实6:设置窗口的大小和位置   1.7 实7:居中显示窗口   1.8 实8:顶层显示窗口   1.9 实9:设置窗口图标   1.10 实10:获得和设置窗口的标题   1.11 实11:显示或隐藏窗口的标题栏   1.12 实12:改变窗口形状   1.13 实13:设置窗口的透明区域   1.14 实14:透明窗口   1.15 实15:窗口闪烁   1.16 实16:图片窗口   1.17 实17:动画窗口   1.18 实18:桌面窗口   1.19 实19:最小化桌面所有窗口   1.20 实20:获取任务栏窗口   1.21 实21:显示或隐藏任务栏   1.22 实22:枚举桌面所有顶层窗口  第2章 菜单和光标   2.1 实23:动态添加和删除菜单项   2.2 实24:在系统菜单中添加和删除菜单项   2.3 实25:禁用关闭按钮   2.4 实26:启用和禁用菜单项   2.5 实27:设置菜单项的检查状态   2.6 实28:快捷菜单   2.7 实29:获取光标的坐标   2.8 实30:限制光标的移动范围   2.9 实31:自定义光标   2.10 实32:等待光标  第3章 控制栏   3.1 实33:创建工具栏   3.2 实34:设置工具栏标题   3.3 实35:停靠工具栏   3.4 实36:设置工具栏位图   3.5 实37:为工具栏按钮添加文本标签   3.6 实38:为工具栏按钮添加下拉箭头   3.7 实39:为工具栏按钮设置热点图像   3.8 实40:启用或禁用工具栏的工具提示   3.9 实41:在工具栏中添加组合框   3.10 实42:创建状态栏   3.11 实43:在状态栏中添加进度条   3.12 实44:显示或隐藏工具栏和状态栏   3.13 实45:使用组合栏  第4章 对话框  第5章 框架和文档视图  第6章 通用控件  第7章 GDI  第8章 文件  第9章 打印  第10章 多线程  第11章 网络  第12章 ADO数据库  第13章 动态链接库  第14章 系统  第15章 设备管理  第16章 数据类型及转换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值