- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我之前已经这样做过,但令我惊讶的是 CListCtrl 不会以颜色显示文本。我在对话框上有 ListView 控件。我正在使用 VS2010,是否还缺少其他东西?
void CGameView::OnCustomdrawListBatsmen(NMHDR *pNMHDR, LRESULT *pResult)
{
//LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
LPNMLVCUSTOMDRAW pNMLVCD = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR);
*pResult = CDRF_DODEFAULT;
switch( pNMLVCD->nmcd.dwDrawStage )
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
pNMLVCD->clrTextBk = RGB(255,0,0);
pNMLVCD->clrText = RGB(255, 0, 0 );
*pResult = CDRF_NOTIFYSUBITEMDRAW;
break;
case CDDS_ITEMPREPAINT | CDDS_SUBITEM:
// if( pNMLVCD->iSubItem == 1 )
pNMLVCD->clrTextBk = RGB(0,255,0);
pNMLVCD->clrText = RGB(255, 0, 0 );
break;
}
*pResult = 0;
}
当我调试它时,控件甚至从未通过第一种情况!我不知道是那个吗?我需要在资源 View 中设置列表控件属性吗?
最佳答案
我解决了这个问题,这是最后一行:
*pResult = 0;
需要将其删除,因为它正在重置 switch case 中设置的任何值。
关于c++ - CListCtrl 报 TableView 中没有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642207/
我有一个CListCtrl(报告样式),可以在其中清除列表并在特定时间重新填充它。在执行此操作时,我想保持垂直滚动位置。我发现有两种方法看起来很有希望: EnsureVisible() GetScro
如何更改 Clistctrl 项(报 TableView )的文本颜色? 最佳答案 您需要处理 NM_CUSTOMDRAW消息并更改该处理程序中的文本颜色。 有关示例,请参阅 this article
我有一个 CListCtrl,其中包含大约 2500 个不同的元素,其中包含一个 48x48 的图标和文本。 由于数据量大,我将其实现为提供的虚拟列表 ON_NOTIFY(LVN_GETDISPINF
如何保持CListCtrl的水平滚动条位置?我会定期转储并重新填充列表控件的内容,因此无需显式记住旧位置并将其恢复,滚动只返回到左上角。 我早些时候问了一个相关的问题CListCtrl: How to
我有一个显示多个系统的多个数据的 clistctrl。不同系统只能选择 1 个项目。 最初,clistctrl 会加载从不同系统的控件中选择的第一个项目。 但是当我在更改模型中的数据并设置选择后通过单
我在图标 View 中使用 CListCtrl,但它会水平滚动: 1 3 5 7 --> 2 4 6 8 --> 我宁愿它水平滚动: 1 2 3 4 5 6 | | V V 有办法吗? 最佳答案 将设
我正在为 Windows Mobile 创建 MFC 应用程序,但不知道如何为列表控件 (CListCtrl) 启用多选。在属性面板中 Single Selection 设置为 False 但仍然无法
我必须根据 CListViewCtrl 中的值启用/禁用对话框上的按钮。基于所选行。我做到了这一点: NOTIFY_HANDLER(IDC_LIST, LVN_ITEMCHANGED, OnMyLis
我需要在 MFC 中创建一个 ListControl,每行具有不同的列数。我该怎么做? 最佳答案 那是不可能的。解决方法很简单,只是不要在子项中放置任何文本。 关于c++ - 自定义 CListCtr
如何使用标题文本获取项目的索引号?我正在使用 MFC 的 CListCtrl 类。我有项目的标题文本,我可以获取该项目的索引然后更新其文本吗?如果您能提供示例,将会很有帮助。 最佳答案 CListCt
CMyListCtrl 处于虚拟数据模式和所有者绘制。当控件需要数据时,将发送一个 LVN_GETDISPINFO 通知。 下面的代码工作正常,除了它多次显示每一行。 文档说如果我设置项目的掩码的 L
有一个CListCtrl带有SetExtendedStyle (LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT),单选是false。我希望能够用鼠标选择多行。从空白区域
我有一个包含多个列的 CListCtrl,所有列都可以作为排序依据。我想添加 up 和 down 图标,以便清楚当前按哪一列排序以及朝哪个方向排序;很像 Windows 资源管理器。我的想法是向列名添
我正在使用 CListCtrl 控件在我的 MFC 应用程序中显示信息。目前,我在 SetExtendedStyle 中设置了 LVS_EX_CHECKBOXES,因此控件中的所有行旁边都有一个复选框
我目前有 NM_CUSTOMDRAW 消息调用一个函数来在报告模式下为 listctrl 的行着色。我可以检测何时选择了一行并自己为其着色,但是不会为选定的单元格调用此方法,因此我无法为该单元格着色。
谁能帮我知道,CListCtrl::GetItemData() 在 MFC、VC++ 中有什么用? 我查阅了 MSDN 描述,但不够清楚。 如果有人可以提供简短的解释和一些示例,那就太好了并且会有很大
如何使 CListCtrl 自动调整其列的宽度?通常,当列表中的项目太长时,后端会从 View 中消失,用户必须手动调整相应列的宽度。有没有办法通过代码来做到这一点? 最佳答案 自动调整列大小很容易:
我想将 CListCtrl 控件的任何单元格的字体更改为粗体。任何人都可以告诉如何为 CList Ctrl 做到这一点。 我已经为 CTreeCtrl 做了这个,就像这样 pTC->SetItemSt
我想为列表的任何列使用 CListCtrl.EditLabel()。我该如何实现这样的功能? 最佳答案 这是可行的,但它确实需要大量填充鼠标点击和焦点事件。 简而言之,您捕获鼠标左键按下消息并将其转换
我想将特定列的背景颜色更改为对话框的颜色(灰色)。我怎样才能实现它? void CUcsOpTerminalDlg::OnCustomdrawFeatureList(NMHDR *pNMHDR, LR
我是一名优秀的程序员,十分优秀!