mfc - GDI 绘图失控

标签 mfc controls gdi

我正在编写一个 MFC 应用程序。我在窗体对话框上创建了一个 CStatic 派生控件,以便在启动程序时直接看到窗体。我现在使用派生类中的 OnPaint() 方法在此控件中绘图。到目前为止,一切正常。 然而,奇怪的是,这些绘图并没有被剪切到控件之外。相反,如果我画很大的东西,整个形状都会被画出来。根据我的理解,只应该绘制控件。

提前致谢 安德烈亚斯·D.

最佳答案

@dlb 现在明白了。

CDC* pDC = GetDC();
CRect rClient();
GetClientRect(rClient);
CRgn ClipRgn;
if (ClipRgn.CreateRectRgnIndirect(&rClient))
{
    pDC->SelectClipRgn(&ClipRgn);
}


// Drawing content


pDC->SelectClipRgn(NULL);
ReleaseDC(pDC);

感谢您的回答

关于mfc - GDI 绘图失控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11339860/

相关文章:

c++ - 禁用 "desktop"子窗口的透明度

windows - 处理巨大的位图

c++ - CFolderDialog 设置状态文本

c# - VB6 到 VB.NET 转换按钮样式

winapi - Windows 浏览器控件与 CDHtmlDialog 和 CHtmlView

.net - 为什么有些控件同时具有 BackgroundImage 和 Image 属性?

delphi - 如何在不选择所有节点的情况下禁用 TreeView 控件?

C# GDI Invert Graphics 在 X 轴上翻转

c++ - 将鼠标光标更改为等待光标,然后启动工作线程并在线程完成时改回

c++ - 有没有一些工具可以删除MFC项目中的冗余资源?