目的:使列表框(CListCtrl)的每个项(item)前面有个复选,用来标明是否选中,提交数据是只选择选中的
方法:为列表框(CListCtrl)多加一个LVS_EX_CHECKBOXES风格
m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES)
添加的项(即“行”)的第一列总会在项目名前出现一个复选框(添加项后才能看到复选框)
m_list.InsertColumn(0,"选取",LVCFMT_LEFT,50) //添加列标题
m_list.InsertColumn(1,"1",LVCFMT_LEFT,50)
m_list.InsertColumn(2,"2",LVCFMT_LEFT,50)
m_list.InsertColumn(3,"3",LVCFMT_LEFT,50)
m_list.InsertItem(0,"") //添加项(即行标题)
m_list.InsertItem(1,"")
m_list.SetItemText(0,1,"sdf")
m_list.SetItemText(1,0,"sdf") //设置项的各列数据时也可更改行标题,即行的第一列的文字
m_list.SetItemText(1,1,"sdf")
m_list.SetItemText(1,2,"sdf")
m_list.SetItemText(1,3,"sdf")
/**********************************************************************************
也可以使用以下方法设置数据
m_list.SetBkColor(RGB(255,255,255))//设置背景
m_list.SetTextBkColor(RGB(255,255,255))
//设置list对话框的列
LV_COLUMN lvc
lvc.mask=LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH|LVCF_FMT
lvc.fmt=LVCFMT_LEFT
lvc.iSubItem=0
lvc.pszText=_T("A")
lvc.cx=50
m_list.InsertColumn(1,&lvc)
lvc.iSubItem=1
lvc.pszText=_T("B")
lvc.cx=50
m_list.InsertColumn(2,&lvc)
打开资源视图->对应的窗口,在上面添加一个ComBox控件;定义一个CComboBoxEx类型的变量m_combox;
使用DDX_CTROL()绑定那个Combox控件;
可以在OnInitial中修改它的额外风格并初始化;
或者
直接定义一个变量,通过Create动态创建一个;
然后MoveWindow到制定的位置显示出来即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)