?? menu.h
字號:
#ifndef __MENU_h__
#define __MENU_h__
#include "step_motor.h"
/**********************
* 目錄結(jié)構(gòu)體定義 *
**********************/
struct MenuItem
{
short MenuCount;
char *DisplayString;
void (*Subs)();
struct MenuItem *ChildrenMenus;
struct MenuItem *ParentMenus;
}Null;
void NullSubs(void)
{
}
/****************************************************
* 使用說明: *
* 要定義一個(gè)菜單,需要做以下幾步工作 *
* 1、定義一個(gè)結(jié)構(gòu)體數(shù)組 *
* 2、如果這個(gè)菜單是子菜單,那么把上級菜單的 *
* *ChildrenMenus指針指向該數(shù)組的首地址, *
* 并且設(shè)置ParentMenus為上層目錄的地址 *
* 3、如果這個(gè)菜單是 根菜單,那么直接將MenuPoint *
* 指針指向該數(shù)組的首地址 *
* 4、通過寫一個(gè)函數(shù)為該數(shù)組的每一個(gè)元素初始化 *
* 5、如果菜單項(xiàng)是最終選項(xiàng),那么將*ChildrenMenus *
* 置為NULL,將函數(shù)指針*Subs指向?qū)崿F(xiàn)功能的 *
* 函數(shù)。 *
****************************************************/
struct MenuItem MotorMenu[4];
struct MenuItem P_Degree[5];
struct MenuItem N_Degree[4];
/***********************
* 函 數(shù) 聲 明 區(qū) *
***********************/
void MainMenuInit(void);
void P_DegreeInit(void);
void N_DegreeInit(void);
/**************************************************************
* 函數(shù)說明:編輯菜單初始化函數(shù) *
**************************************************************/
void N_DegreeInit(void)
{
N_Degree[0].MenuCount = 5;
N_Degree[0].DisplayString = " 7.5 度 ";
N_Degree[0].Subs = Turn_7_5t;
N_Degree[0].ChildrenMenus = &Null;
N_Degree[0].ParentMenus = MotorMenu;
N_Degree[1].MenuCount = 5;
N_Degree[1].DisplayString = " 15度 ";
N_Degree[1].Subs = Turn_15t;
N_Degree[1].ChildrenMenus = &Null;
N_Degree[1].ParentMenus = MotorMenu;
N_Degree[2].MenuCount = 5;
N_Degree[2].DisplayString = " 30度 ";
N_Degree[2].Subs = Turn_30t;
N_Degree[2].ChildrenMenus = &Null;
N_Degree[2].ParentMenus = &Null;
N_Degree[3].MenuCount = 5;
N_Degree[3].DisplayString = " 60度 ";
N_Degree[3].Subs = Turn_60t;
N_Degree[3].ChildrenMenus = &Null;
N_Degree[3].ParentMenus = MotorMenu;
N_Degree[4].MenuCount = 5;
N_Degree[4].DisplayString = " 90度 ";
N_Degree[4].Subs = Turn_90t;
N_Degree[4].ChildrenMenus = &Null;
N_Degree[4].ParentMenus = MotorMenu;
}
/**************************************************************
* 函數(shù)說明:文件菜單函數(shù)初始化 *
**************************************************************/
void P_DegreeInit(void)
{
P_Degree[0].MenuCount = 5;
P_Degree[0].DisplayString = " 7.5 度 ";
P_Degree[0].Subs = Turn_7_5;
P_Degree[0].ChildrenMenus = &Null;
P_Degree[0].ParentMenus = MotorMenu;
P_Degree[1].MenuCount = 5;
P_Degree[1].DisplayString = " 15度 ";
P_Degree[1].Subs = Turn_15;
P_Degree[1].ChildrenMenus = &Null;
P_Degree[1].ParentMenus = MotorMenu;
P_Degree[2].MenuCount = 5;
P_Degree[2].DisplayString = " 30度 ";
P_Degree[2].Subs = Turn_30;
P_Degree[2].ChildrenMenus = &Null;
P_Degree[2].ParentMenus = &Null;
P_Degree[3].MenuCount = 5;
P_Degree[3].DisplayString = " 60度 ";
P_Degree[3].Subs = Turn_60;
P_Degree[3].ChildrenMenus = &Null;
P_Degree[3].ParentMenus = MotorMenu;
P_Degree[4].MenuCount = 5;
P_Degree[4].DisplayString = " 90度 ";
P_Degree[4].Subs = Turn_90;
P_Degree[4].ChildrenMenus = &Null;
P_Degree[4].ParentMenus = MotorMenu;
}
/**************************************************************
* 函數(shù)說明:根菜單初始化 *
**************************************************************/
void MainMenuInit(void)
{
MotorMenu[0].MenuCount = 2;
MotorMenu[0].DisplayString = " 正轉(zhuǎn) ";
MotorMenu[0].Subs = NullSubs;
MotorMenu[0].ChildrenMenus = P_Degree;
MotorMenu[0].ParentMenus = &Null;
MotorMenu[1].MenuCount = 2;
MotorMenu[1].DisplayString = " 反轉(zhuǎn) ";
MotorMenu[1].Subs = NullSubs;
MotorMenu[1].ChildrenMenus = N_Degree;
MotorMenu[1].ParentMenus = &Null;
}
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -