
int i=m_listGetSelectionMark();//获得选 中行的行标
CString s=m_listGetItemText(i,j);i是行,j是列。m_list是个list control 对象
可以做到的,做一个ListCtrl的派生类CMyListCtrl,表中的数据是从数据库得到的,你自己添加数据吧.
void CMyListCtrl::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
this->SetFocus();
UINT uFlags;
int nItem = HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMICON ){
this->SetHotItem(nItem);//有这句就可以实现列表中的字体变色了
}
CListCtrl::OnMouseMove(nFlags, point);
}
在其它类,比如(CListCtrlTestDlg)的OnInitDialog加入以下代码,在CListCtrlTestDlg头文件中加入#include "MyListCtrlh",当前使用的列表控件对象是:CMyListCtrl m_list;
BOOL CListCtrlTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_listSetExtendedStyl(LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES|LVS_EX_FLATSB);
m_listSetTextColor(RGB(200, 0, 0));//列表中的字体为红色
m_listInsertColumn(0, "员工编号");
m_listInsertColumn(1, "姓名");
m_listInsertColumn(2, "性别");
m_listInsertColumn(3, "年龄");
m_listInsertColumn(4, "个人手机");
m_listInsertColumn(5, "联系电话");
m_listInsertColumn(6, "联系地址");
m_listInsertColumn(7, "工作职位");
for(int j = 0; j < 8; j++){
m_listSetColumnWidth(j, LVSCW_AUTOSIZE);
m_listSetColumnWidth(j, LVSCW_AUTOSIZE_USEHEADER);
}
CString sql = "select from yginfo";
RefrushList(sql);//数据库访问函数,略...
return TRUE; // return TRUE unless you set the focus to a control
}
POSITION pos = m_ctrlJTCZ(你的控件名字)->GetFirstSelectedItemPosition();
if (pos==NULL)
{ MessageBox("请选择一行!");
return;
}
if (IDNO==MessageBox("确认要删除吗","删除提示",MB_YESNO))
{
return;
}
int nIndex = m_ctrlJTCZ->GetNextSelectedItem(pos);
m_ctrlJTCZ->DeleteItem(nIndex);
然后再执行delete语句就可以了
以上就是关于MFC的list control控件,如何得到某一行某列的字符串内容全部的内容,包括:MFC的list control控件,如何得到某一行某列的字符串内容、vc 鼠标经过listctrl自动选中某行、MFC中怎么删除CListCtrl Checkbox选中一行或多行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)