鼠标点击问题

-3

这段程序运行起来,在单次点击时不能出现颜色填充但移动鼠标会出现颜色移动效果,在鼠标左键弹起的时候也会出现效果安装的easyx是最新版

int main()
{
int butt1[4] = { 150,60,350,30 };
	char writing1[] = { "查看联系人" };
	initialize(500, 500);//窗口大小定义
    		int i=0;
		for (i = 0; i < 255; i++)
		{
			setbkcolor(RGB(i, i, i));//对于每个像素三原色的亮度增加
			cleardevice();//清屏函数
			Sleep(15);//每次十五号秒的延迟
		}
	RECT R1 = { butt[0],butt[1],butt[2],butt[3]};
	LOGFONT f;//字体样式指针
	gettextstyle(&f);					//获取字体样式
	_tcscpy(f.lfFaceName, _T("宋体"));	//设置字体为宋体
	f.lfQuality = ANTIALIASED_QUALITY;    // 设置输出效果为抗锯齿  
	settextstyle(&f);                     // 设置字体样式
	settextcolor(BLACK);				//BLACK在graphic.h头文件里面被定义为黑色的颜色常量
	drawtext(writing, &R1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);//在矩形区域R1内输入文字,水平居中,垂直居中,单行显示
	setlinecolor(BLACK);
	rectangle(butt1[0], butt1[1], butt1[2], butt1[3]);
	while (true)
	{
		MOUSEMSG m;//鼠标指针
		m = GetMouseMsg();//获得鼠标的信息
		switch (m.uMsg)
		{
		case WM_MOUSEMOVE:
			break;
		case (WM_LBUTTONDOWN):
	if (m.x > r[0] && m.y<r[1] && m.x<r[2] && m.y > r[3])
	//对鼠标位置判断在填充框的区域则执行
			{
                setrop2(R2_XORPEN);
            	setlinecolor(LIGHTCYAN);//线条颜色设计(青亮色)
	            setlinestyle(PS_SOLID, 3);//设置划线样式(实现),10榜
	            setfillcolor(WHITE);//填充颜色

		fillrectangle(butt1[0], butt1[1], butt1[2], butt1[3]);//对区域填充	
		Sleep(100);
		fillrectangle(butt1[0], buttt1[1], butt1[2], butt1[3]); 
				break;
			}
			
		}

	}
return 0;
}


ava
Ko_siking

2023-2-22

补充完整你的代码吧,不太理解你什么意思。简单补充一下能看明白问题就行。 - 慢羊羊 2023-2-22
你得补充一个删掉无关代码的、最简的、能执行的、能体现问题的代码。目前你这个代码无法执行。 - 慢羊羊 2023-2-22
@慢羊羊        刚才我有修改试试,程序又好起来了,我问题解决了,谢谢了 - Ko_siking 2023-2-23
技术讨论社区
相关问题