如何用MFC真正的实现在当前电脑屏幕上通过鼠标点击和移动一段距离后释放鼠标2个动作画直线

2024-12-17 23:49:32
推荐回答(2个)
回答1:

mfc的cdc机制了解多少了?无外呼就是设置相关设备cdc然后在cdc上作图。想在那里画就申请谁的cdc。
这样画图就分为两种情况了。第一种就是你说的只在桌面上画图,你需要用桌面的句柄建立cdc,这样画图就是画到桌面上的。第二种情况就是存在活动窗口,这样你就需要用活动窗口的句柄建立cdc。
再有一个难点就是鼠标消息的获取,这时鼠标消息获取不可以用程序内部消息,因为你做图时鼠标移动和点击都不在你的程序之上,故需要用一种方法获取鼠标当前状态,去看看钩子函数,鼠标钩子能满足这样的需求。
说的很笼统,如果不明白欢迎追问

回答2:

事先声明好 CDC BufferDC ; CBitmap BufferBitmap;
准备工作: CreateDC, 然后 CreateCompatibleBitmap
每次需要画东西的时候都是往BufferDC里面画,画好之后bitblt到屏幕上。