首页
社区
课程
招聘
[原创]在VC中用ListView类模拟VB代码
发表于: 2009-5-25 15:28 6019

[原创]在VC中用ListView类模拟VB代码

2009-5-25 15:28
6019

VB中我们发现对ListView进行读写十分方便,而VC就麻烦多了,用CListCtrl来写界面不大好用看。而VB中则可以十分方便地定义ListView的前景色、图片、字体等等,要做的仅仅是:
   With ListView1
      .ListItems(1).ForColor = VbRed '前景色为红
   .ListItems(1).Bold = True '字体加粗
   .ListSubItems(1).Bold = TRUE '加粗的子Item
    .ListSubItems(1).ForColor = VbBlue '蓝色前景字
  End With

   在网上搜索了半天,也没有找到VC中对ListView的简单用法,自己研究后得到一个简单办法:
现在引入VB中对应的ListView SP6版,类向导会自动为VC添加相应的支持类,绑定对象后发现VC里面用ListView也可以同样简单:
   右键属性里面可以定义很多属性,要手动定义的代码也不是很难:
   对应按钮中的代码:   
               VARIANT t, t2;
  t.vt = VT_BSTR;
  t.bstrVal = (BSTR)L"test";   

   m_cListView1.GetListItems().Add(NULL, NULL, &t, NULL, NULL);
  
  t2.vt = VT_INT;
  t2.intVal = 1;

  m_cListView1.GetListItems().GetItem(&t2).SetSubItems(1, _T("so easy!"));
  m_cListView1.GetListItems().GetItem(&t2).SetForeColor(RGB(255,0, 255));
  m_cListView1.GetListItems().GetItem(&t2).SetBold(TRUE);

  m_cListView1.GetListItems().GetItem(&t2).GetListSubItems().GetItem(&t2).SetBold(TRUE);
  m_cListView1.GetListItems().GetItem(&t2).GetListSubItems().GetItem(&t2).SetForeColor(RGB(0,255,255));


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
  • s.JPG (18.33kb,121次下载)
收藏
免费 7
支持
分享
最新回复 (3)
雪    币: 153
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个是用了ListView的OCX控件。。不是原生态的ListView的API。
2009-5-25 15:48
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
3
要用CListView类控件的类创建,也就是多个Create函数而已
2009-5-25 16:01
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
VB 那个SP6 的控件可不小..  为了用一个LISTVIEW  带1M多的库....  
  还不如直接用Sendmessage 操作LISTVIEW  
在头文件里 VC都帮我们定义好宏了  调用就好了  不过消息循环稍微麻烦点
2009-5-25 17:10
0
游客
登录 | 注册 方可回帖
返回
//