这段程序运行起来,在单次点击时不能出现颜色填充但移动鼠标会出现颜色移动效果,在鼠标左键弹起的时候也会出现效果安装的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;
}