qq_41945416 2024-08-19 23:09 采纳率: 55.3%
浏览 9

关于mfc列表控件网格线颜色的问题

img

img


如上图所示,第一张图中的列表控件是vfp里的,它的网格线自带黑色;第二张图中的列表控件是mfc里的,它的网格线却没有颜色。
那么mfc里列表控件的网格线怎么才能做到和vfp里列表控件的网格线一样能够呈现出黑色呢?

  • 写回答

1条回答 默认 最新

  • 一直免费一直爽 2024-08-19 23:12
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在MFC中,要设置列表控件的网格线颜色,可以通过自定义绘制来实现。以下是一个简单的示例:

    1. 首先,在你的MFC项目中,创建一个自定义的列表控件类,例如CCustomListCtrl,继承自CListCtrl

    2. CCustomListCtrl类中,重写OnPaint方法,如下所示:

    void CCustomListCtrl::OnPaint()
    {
        CPaintDC dc(this); // 设备上下文
    
        // 绘制网格线
        int rowCount = GetItemCount();
        int colCount = Header_GetItemCount(0);
        CRect rect;
        for (int i = 0; i <= rowCount; i++)
        {
            for (int j = 0; j <= colCount; j++)
            {
                GetSubItemRect(i, j, LVIR_BOUNDS, rect);
                dc.DrawEdge(&rect, EDGE_ETCHED, BF_RECT | BF_SOFT);
            }
        }
    
        // 调用基类的OnPaint方法,绘制其他内容
        CListCtrl::OnPaint();
    }
    
    1. 在你的对话框或窗口类中,将原来的CListCtrl替换为CCustomListCtrl,并添加相应的头文件和实现文件。

    2. 编译并运行项目,你将看到列表控件的网格线已经变为黑色。

    注意:这个示例仅用于演示如何自定义绘制列表控件的网格线,实际应用中可能需要根据需求进行调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见