gpt4 book ai didi

c++ - Win32 C++,在屏幕上绘制一个可拖动的矩形

转载 作者:太空宇宙 更新时间:2023-11-04 11:42:08 24 4
gpt4 key购买 nike

这个问题困扰我好久了。我试图有一个可拖动的矩形来向用户显示他们在我的屏幕截图程序中选择的区域。我想要这个的原因是让用户能够选择他们想要截屏的屏幕部分。我尝试了以下方法但收效甚微:

void drawRect(){
HDC screenDC = ::GetDC(0);
::Rectangle(screenDC, 200, 200, 300, 300);
::ReleaseDC(0, screenDC);
}

现在,为了给这个方法应有的信任,它确实以我期望的方式在屏幕上绘制了一个矩形,但是一旦拖动停止,该矩形仍然存在。我已经研究了摆脱这种情况的方法,例如更新继续显示矩形的窗口,但我还没有设法删除它。对于这个问题,由于您必须在每次监视器刷新时重新绘制矩形并且矩形仍然存在,所以我在屏幕上留下了很多矩形,然后我必须将鼠标悬停或单击这些被绘制的任何窗口以将其删除.

最佳答案

改用 DrawFocusRect。再次绘制相同的矩形会将其从屏幕上移除。

关于c++ - Win32 C++,在屏幕上绘制一个可拖动的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com