• VC的List Control和Delphi的ListView对比


    参照delphi源码,二者本质上应该都是对windows标准控件SysListView32做封装,

    IDE方面就不说太多,VC确实没有Delphi方便,不过也不难用,无非是多了几行调用。

    1.添加Column:

    void CCFSBrowserDlg::InitListView()

    {

    LVCOLUMN* pColumn;

    pColumn = new tagLVCOLUMNA;

    pColumn->pszText=(char*)"修改日期";

    ListView1.InsertColumn(0, pColumn);

    pColumn = new tagLVCOLUMNA;

    pColumn->pszText=(char*)"大小";

    ListView1.InsertColumn(0, pColumn);

    pColumn = new tagLVCOLUMNA;

    pColumn->pszText=(char*)"类型";

    ListView1.InsertColumn(0, pColumn);

    pColumn = new tagLVCOLUMNA;

    pColumn->pszText=(char*)"名称";

    ListView1.InsertColumn(0, pColumn);

    ListView1.SetColumnWidth(0, 100);

    ListView1.SetColumnWidth(1, 100);

    ListView1.SetColumnWidth(2, 100);

    ListView1.SetColumnWidth(3, 100);

    }

    以上代码通过一个公用的pColumn指针变量,再重复用new申请对应数据类型tagLVCOLUMNA的内存,从本质上就是申请一块与tagLVCOLUMNA相同大小的内存,再把内存地址赋值给pColumn,再初始化pszText字段,调用InsertColumn即可。初学VC,部分代码只是按照自己理解的调用方法写出来的,感觉别扭,不过相信以后熟悉了会得心应手的。

    待续。。。

    最简单通用的方法:

    ListView1.InsertColumn(0,"名称",LVCFMT_LEFT,100,0);

    ListView1.InsertColumn(1,"大小",LVCFMT_LEFT,100,1);

    ...

    ...

    .

  • 相关阅读:
    墙奸有感
    关于ubuntu里的fcitx
    Ubuntu 9.10 ati HD 3470 显卡驱动 搞定
    XP与Ubuntu双系统的问题
    invalid conversion from ‘__pthread_t*’ to ‘pid_t’
    Julian Day
    m的n次幂的求法
    Sublime Text 2
    在虚拟机Virtualbox安装Win8消费者版
    记一个循环的错误
  • 原文地址:https://www.cnblogs.com/caibirdy1985/p/4232983.html
Copyright © 2020-2023  润新知