struct MenuItemType { BYTE Pos_V;//垂直方向位置 BYTE Pos_H;//水平方向位置 BYTE Col_F;//该页的前景颜色 BYTE Au; //对象的其他显示属性 BYTE KeyPress;//该页中按下了的键 void (*ParentFun)(void);//该页返回时的父指针 BYTE HighItem;//该页需要保存到Flash中的高亮显示行 }; 再定义一个结构体数组struct MenuIternType idata MenuItem[8],以及一个全局的函数指针void(*PtrFun)( ),以实现对各个选单页的跳变。
主要是OSD的数据独立与代码分开。定义OSD的数据结构时,要把OSD显示的所有要素考虑进去,这样,仅仅依据数据就能把OSD画面重现。另外,在各状态下要按什么键,下一步该怎么操作,都在数据结构中描述出来。这样才能支持OSD数据和代码的独立。同时辅以相关函数指针,以实现在各个选单中的跳变。
这是在网上见到的相关的说明,可以详细解说下吗?很多不清楚.. 比如定义结构体数组干嘛.... 全局的函数指针void(*PtrFun)( )是什么意思。。 |