精通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、付费专栏及课程。

余额充值