c++ - 允许用户在 CStatic C++ MFC App 中绘制拖动矩形

标签 c++ mfc picturebox drawrectangle

我有一个 MFC 应用程序,其中对话框中有一个优化校准。最后,我想允许用户通过在我加载的图像上的图片控件中拖动鼠标来绘制一个可调整大小的矩形。

我将自己的图片控件类定义为 CStatic 的子类,并且正在处理鼠标按下、鼠标弹起和鼠标移动事件,但我似乎无法弄清楚如何允许用户绘制矩形。对此的任何指导将不胜感激。

我看过的大多数示例都向我展示了如何在 CView:CWnd 中绘制矩形,但我对 MFC 还不太熟悉,所以我有点迷茫。谢谢。

最佳答案

此处说明了在窗口内容顶部绘制拖动矩形的常用技术:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145184(v=vs.85).aspx

这是 Win32 API 编码而不是 MFC 编码,但差异很小。基本思路是通过 SetROP2(hdc, R2_NOTXORPEN); 绘制。您反转现有像素,然后再次绘制相同的矩形将这些像素重新反转回原始图像。

关于c++ - 允许用户在 CStatic C++ MFC App 中绘制拖动矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149637/

相关文章:

c++ - Xcode 调试器不显示任何代码

c++ - Winpcap 开发人员在 Cygwin C++ 和 Netbeans IDE 中的使用

c++ - 如何从 C++/MFC 程序中获取控制台窗口?

c++ - mfc中对话框之间的传值

vb.net - 如何使用同一个 Sub 处理多个点击事件

c++ - 类模板中的别名

c++ - 记事本显示 Unicode 字符,因为文件是 ANSI?

c++ - VarBstrFromI4 改变了程序中其他一些 BSTR 的值

c++ - 填充矩形类型的 PictureBox,C++ WINAPI

c# - 如何检测pictureBox是否成功显示图片?