1、官方文档
2、create(窗口样式)
基本上安流程来都能出出来。看一下视图的窗口样式。主要是report的。
CListCtrl列表视图窗口样式(这里的名字又变了,List-View窗口样式)
CListCtrl扩展视图列表样式(这里的名字变了,扩展List-View样式)
说真的,这些名字起得真花。
3、创建带复选框的
如果是要带复选框,需要先创建,再用SetExtendedStyle附带扩展样式。
4、CListCtrl 项操作
自己进入一个误区,LVN_ITEMCHANGED的消息响应函数,项状态太多,不好处理。需要拆开。
(1)单击
void CrvtFaultRodDlg::OnNMClickListrod(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
CheckPtrDet(pNMItemActivate);
if (pNMItemActivate->iItem == -1) return;
bool bCheck = mList.GetCheck(pNMItemActivate->iItem);
mList.SetCheck(pNMItemActivate->iItem, !bCheck);
mList.SetItemState(pNMItemActivate->iItem, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
HightRod(pNMItemActivate->iItem);
*pResult = 0;
}
ListView_SetCheckState 要用这个,网上完全没有示例,含义私信我WX
void CrvtFaultRodDlg::OnNMClickListrod(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
CheckPtrDet(pNMItemActivate);
if (pNMItemActivate->iItem == -1) return;
UINT nFlag;
int nItem = mList.HitTest(pNMItemActivate->ptAction, &nFlag);
//判断是否点在checkbox上
if (nFlag == LVHT_ONITEMSTATEICON)
{
BOOL fCheck = mList.GetCheck(pNMItemActivate->iItem) ? FALSE : TRUE;
ListView_SetCheckState(mList.m_hWnd, TVIS_OVERLAYMASK, fCheck);
UINT staMsk = fCheck ? LVIS_FOCUSED | LVIS_SELECTED : LVIS_FOCUSED;
mList.SetItemState(pNMItemActivate->iItem, staMsk, staMsk);
}
else
{
bool bCheck = !mList.GetCheck(pNMItemActivate->iItem);
mList.SetCheck(pNMItemActivate->iItem, bCheck);
UINT staMsk = bCheck ? LVIS_FOCUSED | LVIS_SELECTED : LVIS_FOCUSED;
mList.SetItemState(pNMItemActivate->iItem, staMsk, staMsk);
}
HightRod(pNMItemActivate->iItem);
*pResult = 0;
}
原文地址:https://blog.csdn.net/Ma_Hong_Kai/article/details/134649007
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_14227.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。