vs更新后,鼠标双击失效

1

开发环境:vs2019    版本16.5.2(刚更新的)

最近写了一个二维坐标系,其中有一部分鼠标操作,鼠标左键单击选中一个点,右键单击鼠标位置创建一个点,左键双击修改点的数据。之前代码写好后,程序可以很好的运行,但是vs更新后鼠标双击就失效了(左键,右键,中键双击),这是我的测试代码:

#include<graphics.h>

int main()
{
	initgraph(640, 480);
	MOUSEMSG mouse;
	while (1)
	{
		mouse = GetMouseMsg();
		switch (mouse.uMsg)
		{
			case WM_LBUTTONDBLCLK:		// 鼠标左键双击修改点的信息
			{
				char s[10];
				InputBox(s, 10, "请输入要修改的值,格式为: x y", "修改坐标", 0, 250, 110, false);
			} break;
		}
	}
}

测试了很多次,确定问题是出在鼠标双击时,还请大家帮忙看一下问题出在哪里了。

0

easyx好像移除了鼠标双击。你可以if嵌套if来完成双击。https://easyx.cn/downloads/View.aspx?id=10

ava
Forest

2020-4-3

好的,谢谢您,解决啦 -  雾胡༻༺ۣۖ  2020-4-3
0

因为双击与单击冲突,在 EasyX 旧版本中,程序可以接收到双击消息,但是无法当成单击来处理。

在最新版本的 EasyX 里面,仿照了 Windows 编程的方式,需要在创建绘图窗口的时候指定接收双击消息,双击才会有效。代码如下:

#include<graphics.h>

int main()
{
	initgraph(640, 480, EW_DBLCLKS);
	MOUSEMSG mouse;
	while (1)
	{
		mouse = GetMouseMsg();
		switch (mouse.uMsg)
		{
			case WM_LBUTTONDBLCLK:		// 鼠标左键双击修改点的信息
			{
				char s[10];
				InputBox(s, 10, "请输入要修改的值,格式为: x y", "修改坐标", 0, 250, 110, false);
			} break;
		}
	}
}
ava
慢羊羊

2020-4-3

谢谢您,解决啦,上面的两个办法都有效 -  雾胡༻༺ۣۖ  2020-4-3
技术讨论社区