Panel Designer--Picture Box使用

       Panel Desiger中的Picture Box提供图形显示的功能,以在panel界面提供一个现实的界面,本文将以车后排门的开关状态的图形显示为例进行演示。

     车的后排门的开关状态一共有四种状态

  •  俩侧门都关闭
  •  俩测门都开启
  •  左侧开启右侧关闭
  • 左侧关闭右侧开启

    因此需要准备四个图片显示以上四个状态;示例的图片及名称如下:

   如果我们要在panel实现如下功能,

  •    按下A键,显示全关闭的图形
  •    按下S键,显示全开启的图形
  •    按下D键,显示仅左侧开启的图形
  •    按下F键,显示仅右侧开启的图形

第一步:打开panel designer,建立四个picture box对象,并设置如下:

  • 文件的路径(路径设置后,虚拟面板picture box的照片将从默认图片显示为当前选择的图片)
  • 属性control name,这个属性将用于函数调用,软件通过这个属性来找到对应的图片;
  • Cache iamge,是否缓存图片,如果设置为True,加载图片的时间会减少但需内存会增加(该选项可随意选择)。

    第二步: 把四个图片拖到同一空间位置,panel显示多个状态的原理是,多个图片放在同一空间位置,通过函数设置在某一时刻仅显示其中特定图片,而其他图片不进行显示,形成了图片切换的效果。

    第三部: CAPL编程

  通过函数setControlVisibility(char[]  panel_name,  char[] control_name,  boolean Isdispaly );来控制显示;

参数一:当前面板的名称,一般选择“”(注意中间没有空格),其代表当前所有的面板

参数二:Picture name的control name 属性

参数三: 是否进行显示;

void RearDoorStatusDisplay(char left_status, char right_status)
{
   setControlVisibility("", "all_open", 0);
   setControlVisibility("", "allclose", 0);
   setControlVisibility("", "right_open", 0);
   setControlVisibility("", "left_open", 0);
   if((left_status == 0) &&(right_status == 0))
   {
      setControlVisibility("", "allclose", 1);
   }
   else if((left_status == 0) &&(right_status == 1))
   {
      setControlVisibility("", "right_open", 1);
   }
   else if((left_status == 1) &&(right_status == 0))
   {
      setControlVisibility("", "left_open", 1);
   }
   else if((left_status == 1) &&(right_status == 1))
   {
      setControlVisibility("", "all_open", 1);
   }
   else
   {
     write("Input para error");
   }
}

on key "A"
{
   RearDoorStatusDisplay(0,0);
}

on key "s"
{
   RearDoorStatusDisplay(1,1);
}

on key "d"
{
   RearDoorStatusDisplay(0,1);
}

on key "f"
{
   RearDoorStatusDisplay(1,0);
}

显示需要设置所有图片不显示,再设置需要图片显示。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值