在子窗口的父窗口中重绘在 mfc 中绘制
Redraw in parent window in child window's onPaint in mfc
我正试图在mfc:中实现这样的东西
包含几个子窗口的父窗口。当窗口被拖动到父窗口内的任何位置时,我希望在子窗口周围出现一些水平和垂直网格线。为此,我在我的OnPaint()处理程序中跟踪子对象的移动,访问父对象并在子对象周围绘制这些网格线。但它的行为并不像我希望的那样。
我的猜测是,孩子的OnPaint()只更新孩子的绘图区域,所以即使我访问了家长的DC,我也不能在上面画任何东西,除非它被重新绘制?
有人能提出一种更简洁的方法来实现上述功能吗?我做错了什么?我需要孩子的OnPaint()中发生的一切
或者,可以从子窗口直接在父窗口上绘制,但使用父窗口的GetDC函数,而不是使用子窗口的DC。
解决此问题的一种方法是在父客户端区域的顶部使用UpdateLayeredWindow
绘制一个半透明的网格窗口,同时将子窗口排列在其顶部。排列完成后,可以销毁网格窗口。通过这种方式,将对现有显示代码进行最低限度的更改。
相关文章:
- QuadTree只在窗口的右上角绘制
- SFML 文本未绘制在窗口上
- GDI 绘制到外部窗口 (C++)
- 使用标准窗口与wxWidgets一起绘制?
- 如何在SDL2窗口上使用Cairo绘制一条白色直线
- 为什么在GLFW窗口中没有用这个代码在我的屏幕上绘制立方体
- 如何在 direct2d 中使用随其窗口重新缩放的效果绘制图像
- 如何使用WinAPI每帧只重新绘制一次子窗口
- 使用 Win32 将 GDI 绘制大小缩放为窗口大小
- 如何在窗口外绘制图形(OpenGL GLFW)
- SFML参考窗口在绝对位置绘制
- 在窗口大小上绘制的OpenGL消失
- 在 c++ 生成器中检测绘制线的窗口坐标的最佳方法
- 如何在调用函数时将对象绘制到 sfml 窗口上
- 如何将成员从类绘制到窗口 c++ 上
- 如何在子小部件而不是父窗口小部件上绘制一条线
- OpenGL-如何绘制完整的窗口矩形
- 如何调用OnEraseBkgnd()在另一个函数中重新绘制窗口?(MFC)
- WTL 如何在同一窗口中使用 2 个自定义绘制的 CListViewCtr
- 如何在win32中在不覆盖标题栏的情况下围绕窗口绘制矩形