还要聊吗??
上次不是和hellovfp 写打字软件。
我主要是放在菜单设计上了。
想写一个控制台多级菜单下拉菜单的接口。。
写了一半了 主要是完成数据结构设计。但由于代码量还要比较大。
打算不写了,想多画点时间学习新的东西。。。。
我是上面那样设计结构。
不知道你要怎么设计呢??
上次不是和hellovfp 写打字软件。
我主要是放在菜单设计上了。
想写一个控制台多级菜单下拉菜单的接口。。
写了一半了 主要是完成数据结构设计。但由于代码量还要比较大。
打算不写了,想多画点时间学习新的东西。。。。
程序代码:
#include <WINDOWS.H> #define MENUTYPE 0 #define OPTIONTYPE 1 typedef struct tagOption { //UINT ID; 除掉不要用户来处理 char Name[256]; //Option 的名字 UINT vLen; //框的长度 UINT hLen; //框的高度 UINT color; //框的颜色 //选项所在的坐标 UINT x; UINT y; void (*ConsleProc)(void *Lparam); //次菜单的指向的处理函数指针 }Option,*pOption; typedef struct tagProcFun { void (*ConsleProc)(void *Lparam); //次菜单的指向的处理函数指针 void (*UpProc)(void); //处理自己上的消息处理 void (*DownProc)(void); //处理自己下的消息处理 void (*LeftProc)(void); //处理自己左的消息处理 void (*RighProc)(void); //处理自己右的消息处理 }ProcFun,*pProcFun; typedef struct tagMenu { Option _option;//单个选项结构 int ID; //菜单的ID int Type; //菜单类型 用于扩展 ProcFun fun;//保存处理函数指针的结构 struct tagMenu *pre; //指向前一个菜单 struct tagMenu *Next; //指向下一个菜单 struct tagMenu *chlid; //指向子菜单 int ParentID; //指向父菜单 char ParentName[256]; }Menu,*pMenu; typedef struct tagMenuInfo { pMenu head; pMenu tail; UINT Number; }MenuInfo,*pMenuInfo; typedef struct tagListMenu { struct tagListMenu *pre; struct tagListMenu *Next; //struct tagListMenu *tail; pMenu child; //指向子菜单 int ID; //MenuInfo info; Option pOp; ProcFun Fun; }ListMenu,*pListMenu; typedef struct tagListMenuInfo { int startX; //下拉的菜单的开始的菜单的起始位置 int startY; pListMenu pMenuHead; //指向开始菜单的开始 pListMenu pTail; //指向开始菜单的结尾 char ListMenuName[1024]; //放开始菜单的名字 int Num; // ListMenu 的个数 }ListMenuInfo,*pListMenuInfo; //全局变量 extern UINT gID; //保存当前要处理的菜单ID extern int flag; //一个小小的标识 extern Menu myMenuHead;//菜单 extern pListMenu myListHead; void InitBoundary(); void assitListMenu(int startX,int startY,char *ListMenuName); void AddChildMenu(char *ParentName,char *MenuName,void (*ConsleProc)(void *Lparam)); /////////事件处理////// void List_Up(); void List_Down(); void List_Left(); void List_Right(); void Menu_Up(); void Menu_Down(); void List_Left(); void List_right();
我是上面那样设计结构。
不知道你要怎么设计呢??
用心做一件事情就这么简单