VC++ GDI问题

请问类似资源管理器里圈选多个文件的矩形是如何实现的,就是按着鼠标拖动的时候实时的画出矩形,一放手就没的。我做的总是有拖影,不知道怎么擦除上一次画的矩形,全屏重画速度又太慢... 请问类似资源管理器里圈选多个文件的矩形是如何实现的,就是按着鼠标拖动的时候实时的画出矩形,一放手就没的。我做的总是有拖影,不知道怎么擦除上一次画的矩形,全屏重画速度又太慢,请哪位大侠执教一下。 展开
 我来答
魔高丈
2008-12-09 · TA获得超过9506个赞
知道大有可为答主
回答量:2066
采纳率:0%
帮助的人:3463万
展开全部
为了防止背景闪烁,使用双缓冲绘图;

重载以下三个消息:
WM_MOUSEMOVE
WM_LBUTTONUP
WM_LBUTTONDOWN

WM_LBUTTONDOWN时记录下当前的坐标位置P0,同时状态变量m_bDrawFlag=TRUE;
WM_MOUSEMOVE里,当m_bDrawFlag==TRUE时,重绘背景(擦掉了上次绘制的矩形),用当前的鼠标位置和刚才记录的P0绘制矩形;
WM_LBUTTONUP时,当m_bDrawFlag==TRUE时,重绘背景(擦掉了上次绘制的矩形),同时m_bDrawFlag==FALSE

不知你能理解吗,今天我没有时间了,不明白明天你可以再找我。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式