让CListView响应Ctrl+A

BOOL CUserManageDlg::PreTranslateMessage(MSG* pMsg)
{
 if (pMsg->message==WM_KEYDOWN)
 {
  if (pMsg->hwnd==GetDlgItem(IDC_LIST1)->m_hWnd)
  {
   switch (pMsg->wParam)
   {
   case 'A':
     if (::GetKeyState(VK_CONTROL)<0)
     {
      for (int i=0;i<m_ListCtrl.GetItemCount();i++)
      {
       m_ListCtrl.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
      }
     }
     return TRUE;
   }
  }
 }
 return CDialog::PreTranslateMessage(pMsg);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤设置CLISTVIEW控件的显示格式: 1. 打开对话框资源编辑器,选择CLISTVIEW控件。 2. 在属性窗口中,找到Style属性,将其设置为Report。 3. 在属性窗口中,找到FullRowSelect属性,将其设置为True,这样在report模式下,整行都会被选中。 4. 设置列信息,添加列标题和宽度等信息。 5. 在代码中设置行信息,包括行数、文本内容、图标等。 6. 可以使用自定义绘制函数绘制特定的行或单元格。 下面是一个设置CLISTVIEW控件格式的示例代码: ```cpp // 设置列信息 m_listCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(1, _T("Age"), LVCFMT_LEFT, 50); m_listCtrl.InsertColumn(2, _T("Gender"), LVCFMT_LEFT, 50); // 设置行信息 m_listCtrl.InsertItem(0, _T("John")); m_listCtrl.SetItemText(0, 1, _T("30")); m_listCtrl.SetItemText(0, 2, _T("Male")); m_listCtrl.InsertItem(1, _T("Lisa")); m_listCtrl.SetItemText(1, 1, _T("25")); m_listCtrl.SetItemText(1, 2, _T("Female")); // 自定义绘制函数 void CMyListView::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR); switch (pLVCD->nmcd.dwDrawStage) { case CDDS_PREPAINT: *pResult = CDRF_NOTIFYITEMDRAW; break; case CDDS_ITEMPREPAINT: if (pLVCD->nmcd.dwItemSpec % 2 == 0) pLVCD->clrTextBk = RGB(255, 255, 255); else pLVCD->clrTextBk = RGB(230, 230, 230); *pResult = CDRF_NEWFONT; break; default: *pResult = 0; break; } } ``` 这个示例代码设置了三列信息,两行数据,使用自定义绘制函数实现了奇偶行背景颜色不同的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值