本文介绍: 为了方便自己查找

为了方便自己查找

1、官方文档

CTabCtrl

CListCtrl

2、create窗口样式

 基本上安流程来都能出出来。看一下视图窗口样式。主要是report的。

CTabCtrl选项卡控件样式

CListCtrl列表视图窗口样式这里的名字又变了,List-View窗口样式

CListCtrl扩展视图列表样式这里的名字变了,扩展List-View样式

说真的,这些名字起得真花。

3、创建复选框

如果是要带复选框需要先创建,再用SetExtendedStyle附带扩展样式

4、CListCtrl操作

list-View项状态

自己进入一个误区,LVN_ITEMCHANGED的消息响应函数,项状态太多,不好处理需要拆开。

(1)单击

单机选中,再次单击取消选中复选框进行勾选 参考代码

void CrvtFaultRodDlg::OnNMClickListrod(NMHDR *pNMHDR, LRESULT *pResult)
{
  LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE&gt;(pNMHDR);
  // TODO:  在此添加控件通知处理程序代码
  CheckPtrDet(pNMItemActivate);
  if (pNMItemActivate-&gt;iItem == -1)    return;
  bool bCheck = mList.GetCheck(pNMItemActivate-&gt;iItem);
  mList.SetCheck(pNMItemActivate-&gt;iItem, !bCheck);
  mList.SetItemState(pNMItemActivate-&gt;iItem, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
  HightRod(pNMItemActivate-&gt;iItem);
  *pResult = 0;
}

(2)单击复选框生效

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, &amp;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进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注