设置 CScrollView 的背景色

Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
2024-04-10T06:32:20.1533333+00:00

我正在使用 Visual C++ 2019 16.9.2 社区和 MFC。 我有一个 MDI 程序:

类 CIDEView:公共 CScrollView

在 OnEraseBkgnd,我调用了 FillOutSideRect。这不会绘制整个窗口,只会绘制要滚动的内容:顶部角落保持白色。所以,在 OnDraw 中,我必须画这个。这是时间:涂上白色,之后涂上深蓝色(0x800000)。我想抽出时间。如何设置窗口的(默认)背景颜色?我分析了 CREATESTRUCT,但我没有找到这个。谢谢

Note:此问题总结整理于:Setting background color of CScrollView

C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
146 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 46,556 信誉分 Microsoft 供应商
    2024-04-10T07:16:15.9466667+00:00

    你好

    在 OnEraseBkgnd,我调用了 FillOutSideRect。这不会绘制整个窗口,只会绘制要滚动的内容

    如果要设置 CScrollView 的背景色,则需要重新绘制 CScrollView。您可以在其 OnEraseBkgnd 中绘制背景,并且应从中返回 TRUE 以抑制默认擦除,然后将背景绘制为 OnDraw 的一部分。

    有关更多详细信息,我建议您可以参考文档:CWnd :: OnEraseBkgnd


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。