在CANoe中有Panel Designer,用于绘制面板,用法和Microsoft Foundation Class(MFC)非常相似,我猜测CANoe软件是使用MFC开发的。在Home->Views中可以调出一些窗口: Symbol explorer, Tool Box, Properties, Output Window.
Symbol explorer
在这个界面可以浏览signal, message, node. 并且可以拖拽变量到工作区的控件,使得变量和控件关联起来。界面如下图所示,
右边Panel1.xvp所在区域称为工作区。左边是Symbol explorer,.
Tool Box
可以在此选择控件拖拽到工作区,然后编辑控件的功能,也可以编辑控件的属性来改变外观、数值等。下面介绍这些控件,
Pointer : 不是控件,可以认为是取消选择某个控件,恢复正常的鼠标左键。
Analog Gauge: 展示用户定义的值范围,图形有点像油表。
Button : 鼠标左键单击就会发送信号或变量。鼠标按下和松开可以设置不同的值,按下时发送报文,松开也发送报文。
CAPL Output View: 连续地输出文本。用如下函数写文本到控件,
void putValueToControl(char panel[], char control[], float val, long paragraph);
panel[]是字符串,是要输出到的panel的名字。control[]是字符串,是要输出到的控件的名字,1个控件的名字等属性可以右键控件,查看properties. val是要输出的值. paragraph决定是否换行,1表示换行,0表示不换行。
要删除控件的内容用下面函数
void DeleteControlContent(char[] panel, char[] control);
填入参数空字符串""表示所有的Panel或control.
Check Box:
用于控制信号的值(checked 和 unchecked中2选1)。左边有个框,鼠标左键单击可以在"checked", "unchecked"之间切换,对应的信号会在2个预设值之间切换,这2个值在控件属性中设置。
clinometer(测角仪): 用于显示值,偏向于显示角度类的信号。
Clock Control: 用于显示时间。有2种源: PCSystemTime, CAPL. 前者用于显示系统时间,后者用于在CAPL程序中显式控制时间显示。有2种模式; clock, stopwatch. 前者用作时钟,后者用作秒表。
Combo Box: 下拉列表框。未知如何设置列表框的项
Compass: 显示东南西北方向以及速度,方向和速度都受关联的信号控制。
File Button: 在属性中设置文件路径,左键点击就会打开指定文件。如果为空就会弹出浏览文件窗口,选择要打开的文件。
Group Box: 用法不详,甚至无法关联信号。
Hex/Text Editor: 显示文本或数字,数字可以用10进制或16进制显示。
Input/Output Box: 展示要输入或输出的值。
LCD Control: 用于展示浮点数。
Path Dialog: 通过图形界面获取文件或文件夹路径。
Picture Box: 展示图片。需要用下列函数设置需要展示的图片。
void setPictureBoxImage(char panel[], char control[], char imagefile[]);
panel参数指定控件所在的面板,control是控件名字,imagefile是文件的路径。
Progress Bar: 进度条,显示关联变量在设定的范围内的比例。
Start Stop Control: 开始测量,停止测量。相当于CANoe软件的左上方的Start按钮。
Static Text: 静态显示文字。
Switch/Indicator: 在2个状态中选择1个,用鼠标左键和右键分别代表1个状态。
Tab Control: 展示一些标签页。
Track Bar: 如下图,可以拖动控件来取值。只要收到信号相关的消息,就会根据信号的值调整蓝色
箭头的位置。如果用鼠标拖动蓝色箭头,每次拖动都会发送报文。
所有控件都取报文中关联信号的值。