赢得 32 C++,将可拖动的矩形绘制到屏幕上
Win 32 C++, Drawing a draggable rectangle to the screen
这是我已经有一段时间的问题了。 我正在尝试有一个可拖动的矩形来向用户显示他们在屏幕截图程序中选择的区域。 我希望这样做的原因是让用户能够选择他们想要截取屏幕截图的屏幕部分。 我尝试了以下方法,但收效甚微:
void drawRect(){
HDC screenDC = ::GetDC(0);
::Rectangle(screenDC, 200, 200, 300, 300);
::ReleaseDC(0, screenDC);
}
现在,为了给这种方法应有的信任,它确实以一种我期望的方式在屏幕上绘制了一个矩形,但是一旦拖动停止,矩形仍然存在。 我已经研究了摆脱这种情况的方法,例如更新继续显示矩形的窗口,但我还没有设法删除它。 此外,由于您必须在每次显示器刷新时重新绘制矩形并且矩形仍然存在,因此我留下了很多矩形在整个屏幕上绘制,然后我必须将鼠标悬停在或单击绘制的任何窗口上以删除它们。
改用 DrawFocusRect。再次绘制相同的矩形会将其从屏幕中删除。
相关文章:
- 如何在快板的屏幕中显示子位图的绘制?
- 要在屏幕上绘制一些小瓷砖,我应该使用 QQuickItem 还是 QQuickPaintedItem?
- OpenGL ES 2.0将纹理绘制到屏幕上是行不通的
- 如何使用 bitblt 在屏幕上绘制由位图制作的数组?
- 为什么在GLFW窗口中没有用这个代码在我的屏幕上绘制立方体
- 有没有办法真正确保QSplashScreen已经在屏幕上重新绘制了?
- 如何检查在 Adafruit TFT 屏幕上绘制的两个圆圈是否相互接触
- 直接X 11:在屏幕上绘制一个简单的彩色矩形
- SFML C 为什么在屏幕上没有绘制?(简单代码)
- 如何绘制到目标纹理大于屏幕分辨率的帧缓冲区
- SFML 将形状绘制到屏幕上的多个位置
- 用SFML在屏幕顶部(Windows)绘制
- 绘制三角形时只有空白屏幕
- OpenGL在非方形屏幕上绘制线条
- 在MFC C++应用程序中在屏幕上绘制点的最快方法
- 赢得 32 C++,将可拖动的矩形绘制到屏幕上
- 如何在opengl中绘制屏幕一小部分大小的正方形网格
- OpenGL - 重新绑定 glBindVertexArray 不会在屏幕上绘制任何内容
- 从线程重新绘制初始屏幕/禁用断言
- 重新绘制屏幕并删除已经存在的内容