一直想要这种效果,无奈刚开始用了cListbox控件,不知道怎么生成背景的边框,找了好久资料,突然发现好像控件用错了。

用CListControl控件实现图中效果,超级开心~

实现过程:

添加一个List Control控件,View属性设为Report,即为报表风格,Single Selection属性设为True

在OnInitDialog()函数中

CRect rect;   

m_listControl.GetClientRect(&rect);
m_listControl.InsertColumn( , _T("PDF->图片文件"), LVCFMT_LEFT, rect.Width(),);//插入列

在需要循环调用的函数中,添加内容:

 m_listControl.SetExtendedStyle(m_listControl.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); // 为列表视图控件添加全行选中和栅格风格
m_listControl.InsertItem(j, strTemp+_T("\\")+arr[j]);//插入行

实现选中行变化响应函数

void CUighurRecognitionDlg::OnLvnItemchangedList2(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: 在此添加控件通知处理程序代码
//选中项变化时候,函数会响应多次,添加if中判断条件,使得选中项变化时只响应一次
if ((pNMListView-> uChanged&LVIF_STATE)&&(pNMListView-> uNewState& LVIS_SELECTED)&&!(pNMListView->uOldState & LVIS_FOCUSED)){ POSITION ps;
int nIndex;
ps=m_listControl.GetFirstSelectedItemPosition();
nIndex=m_listControl.GetNextSelectedItem(ps);
m_listControl.SetItemState(nIndex,LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT); CString str; str=str+m_listControl.GetItemText(nIndex,);//第一个参数是行数,第二个参数是列数,此处只有一列,所以为0
//SetDlgItemText(IDC_EDIT1,str);
// MessageBox(str); } //SetDlgItemText(IDC_EDIT_IP,str);
*pResult = ;
}

MFC中的CListControl控件的更多相关文章

  1. MFC中动态添加控件----寻找多年的秘籍,吐血推荐

    原文作者tianwaik 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立 ...

  2. VC/MFC中的CComboBox控件使用详解

    CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down l ...

  3. MFC中开发ocx控件,html容器收不到ocx的事件Event

    问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...

  4. MFC中给各个控件填充背景颜色的方法

    1.给程序设置大背景色,在OnPaint()函数中添加如下代码: CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillSolidRec ...

  5. MFC中 用Static控件做超链接(可以实现变手形、下划线、字体变色等功能)

    1.新建一个基于对话框的工程MyLink,在对话框中拖一个Static控件,ID可改为IDC_SLink. 2.在头文件中添加成员变量: private: CRect m_Rect; CFont* m ...

  6. MFC中关于CListBox控件添加水平滚动条

    首先是设置listbox控件的属性  Horizontal Scroll设为TRUE: 然后添加函数到CUighurRecognitionDlg.cpp(在CUighurRecognitionDlg. ...

  7. MFC中控制COMBOBOX控件的下拉框高度

    这是使用Visual Stiduo的小技巧哦.今天上网找来的.在界面设计面板上,点击ComboBox的下拉箭头,会另外出现一个虚边框.可以调整其大小.这个就是实现运行的时候下拉边框的默认值啦.

  8. OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中

    OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Co ...

  9. 如何向VS2010中插入ActiveX控件并且附带相应的类

    上两篇文章中我们已经讲述了ActiveX控件的一些相关知识,本文中,简单说明一下如何在我们自己的程序中使用ActiveX控件.(仍以我们上节课的例子为例) 我们打开VS2010编辑器,新建一个基于对话 ...

随机推荐

  1. 求N之下的所有素数

    No.1 f=lambda n: [x for x in range(1,n) if not [y for y in range(2,x) if x%y ==0 ]] No.2 def prime(n ...

  2. oracle删除数据库表空间

    步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...

  3. android开发学习 ------- 【转】 android中的线程池

    线程很常见 , https://blog.csdn.net/seu_calvin/article/details/52415337    参考,保证能看懂.

  4. SQL server事务语法

    ALTER proc [dbo].[p_BOGetMCBSecurityCheckPropertiesTypeAdd]@Name nvarchar(50),    ---参数@MCBBadlyBuil ...

  5. 使用Intellij IDEA搭建一个简单的Maven项目

    IntelliJ IDEA是Java最优秀的开发工具,它功能全面,提示比较智能,开发界面炫酷,新技术支持的比较迅速. 我使用了Eclipse快10年了,IntelliJ IDEA这么好用必须要试一试. ...

  6. 再谈Android AsyncTask的优缺点

    导语:之前做习惯了Framework层的开发,今天在武汉斗鱼公司面试APP客户端的开发,其中一道题是讲述Asynctask的优缺点,我靠,我只是知道有这么一个东西,会用而已,看来之前的生活太过于安逸, ...

  7. setuid

    -r-s--x--x   #s就是setuid,仅可用在二进制文件,对目录设置无效

  8. 洛谷 P2264 情书

    题目背景 一封好的情书需要撰写人全身心的投入.lin_toto同学看上了可爱的卡速米想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. 题目描述 为了帮助lin_toto,我 ...

  9. 虚拟机ubuntu16.0 安装 mysql 主机配置访问

    在bantu服务器中安装如下命令 sudo apt-get install mysql-server    sudo apt-get install mysql-client安装成功之后 进入配置文件 ...

  10. 修改visual studio setup 安装顺序(解决新版安装包无法自动移除老版本程序的问题)

    背景 visual studio setup 支持自动删除之前版本的安装,需要设置RemovePreviousVersions = true, DetectNewerInstalledVersion ...