码迷,mamicode.com
首页 > 其他好文 > 详细

精通Visual.Cpp实效编程280例

时间:2017-10-29 23:23:07      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:.com   mfc   程序   访问   步骤   展开   ons   span   format   

 

 

注意,本随笔是根据书籍 《精通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. 运行程序,效果如下:

技术分享

 

精通Visual.Cpp实效编程280例

标签:.com   mfc   程序   访问   步骤   展开   ons   span   format   

原文地址:http://www.cnblogs.com/SunnyD/p/7751367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!