首页 > 技术文章 > DirectFB学习笔记四

dixonyy 2014-11-06 22:40 原文

本篇目的,实现按钮的点击事件捕获,也就是鼠标点击,如果点击在方框范围内,则响应,在方框外,则忽略。

由于鼠标移动和点击都会产生事件,因此,我们可以在鼠标移动的时候记录坐标,在点击时比较坐标是否在方框范围内从而判断是否点击的按钮。

首先和上篇一样创建事件buffer,获取事件event。

if(event.type == DIET_AXISMOTION)//如果是鼠标移动事件

{

  switch(event.axis)//判断event中记录的是x坐标的事件还是y坐标的事件

  {

    case DIAI_X:

      mouse_x = event.axisabs;

      break;

    case DIAI_Y:

      mouse_y = event.axisabs;

      break;

    default:

      break;

  }

}

else if(event.type == DIET_BUTTONPRESS)//如果是鼠标按键事件
{

  if (mouse_x,mouse_y)在方框内

    //响应,do something;

    //这里可以用Flip函数的局部刷新来形成按钮的按下效果

}

推荐阅读