QQ登录

只需一步,快速开始

76上位机VC MFC列表视图实现导航界面功能

[ 复制链接 ]

76上位机VC MFC列表视图实现导航界面功能

76上位机VC MFC列表视图实现导航界面功能

76上位机VC MFC列表视图实现导航界面功能


功能展示

用列表视图加载图片作为导航界面,供用户选择操作将会更加直观与便捷会使我们开发的上位机程序更具特色,那么如何实现列表视图的导航功能呢?我们当前例程就手工实现了,效果如图;
要点提示
列表视图控件可以响应用户鼠标双击的操作即NM_DBLCLK;也就是说只要用户在列表视图上双击了鼠标,就会触发这一消息,我们只要在处理这一消息时也就是处理函数OnDblclkList1()中便可实现我们想要的功能;用户双击了列表视图控件的哪一子项呢?我们可以通过intcursel=m_List.GetSelectionMark();来获得;cursel也用户当前点击的子项,m_List是我们自定义的列表视图变量;





实现功能
1.新建基于对话框的应用程序
2.在主对话框资源中添加列表视图控件关联变量CListCtrl m_List;,及<删除选中内容><全部还原>按钮关联函数;
3.添加几个图标和几个CHECK BOX按钮;及一个CImageList m_ImageList;变量用于设置列表视图的图标

4.初始化
  1. m_List m_ImageList
  2. m_ImageList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
  3.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_0));
  4.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_1));
  5.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_2));
  6.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_3));
  7.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_4));
  8.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_5));
  9.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_6));
  10.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_7));
  11.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_8));
  12.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_9));
  13.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_10));
  14.         m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_11));
  15.         m_List.SetImageList(&m_ImageList,TVSIL_NORMAL);
  16.         m_List.InsertItem(0,"选项0",0);
  17.         m_List.InsertItem(1,"选项1",1);
  18.         m_List.InsertItem(2,"选项2",2);
  19.         m_List.InsertItem(3,"选项3",3);
  20.         m_List.InsertItem(4,"选项4",4);
复制代码
  1. m_List.InsertItem(5,"选项5",5);
  2.         m_List.InsertItem(6,"选项6",6);
  3.         m_List.InsertItem(7,"选项7",7);
  4.         m_List.InsertItem(8,"选项8",8);
  5.         m_List.InsertItem(9,"选项9",9);
  6.         m_List.InsertItem(10,"选项10",10);
  7.         m_List.InsertItem(11,"选项11",11);
  8. <div style="text-align: center;"><span style="font-size: large; line-height: 1.5;">3.添加列表视图控件的鼠标双击函数</span></div>void CGkbc8Dlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
  9. {
  10.         int cursel=m_List.GetSelectionMark();
  11.         if(cursel==-1)return;
  12.         switch(cursel)
  13.         {
  14.         case 0:
  15.                 {
  16.                 CButton *p=(CButton*)GetDlgItem(IDC_0);
  17.                 p->SetCheck(!p->GetCheck());//有选中就反选
  18.                 break;
  19.                 }
  20. }
  21. <div style="text-align: center;"><span style="font-size: large; line-height: 1.5;">添加两按钮的响应函数实现部分</span></div>void CGkbc8Dlg::OnDelete()
  22. {        
  23.         for(int i=IDC_0;i<IDC_0+12;i++)//遍历全部组合框
  24.         {
  25.                 CButton *p=(CButton*)GetDlgItem(i);
  26.                 if(p->GetCheck())//有选中就隐藏
  27.                         p->ShowWindow(SW_HIDE);
  28.         }        
  29. }
  30. void CGkbc8Dlg::OnRestore()
  31. {
  32.         for(int i=IDC_0;i<IDC_0+12;i++)//遍历全部组合框
  33.         {
  34.                 CButton *p=(CButton*)GetDlgItem(i);
  35.                 p->ShowWindow(SW_SHOW);
  36.         }
  37. }
  38. <div style="text-align: center;"><b><font size="4">我们来演示下功能实现的整个过程</font></b></div>
复制代码

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:76.上位机VC MFC列表视图实现导航界面功能.rar 
文件大小:162.84 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索