龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

一个简单菜单程序

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
今天下午下个菜单程序试试看,主要是要用鼠标控制的,现在还没写完,发现有一些问题值得大家讨论下,也希望用c写过鼠标控制菜单程序的朋友一起来探讨下.首先是鼠标假如没按键而位

今天下午下个菜单程序试试看,主要是要用鼠标控制的,现在还没写完,发现有一些问题值得大家讨论下,也希望用c写过鼠标控制菜单程序的朋友一起来探讨下.首先是鼠标假如没按键而位置在菜单选向上的时候,大家觉得这个时候应该在菜单主标题这里显示什么样的效果呢?是用rectangle画一个框还是添加背景颜色呢?同样在菜单选向里也应该显示什么样的效果.第二个问题是假如有滚屏的话你们觉得是把一大块保存下来,还是一行行保存好呢?希望写过类似程序的朋友以及想写这个程序的朋友提点意见吧,谢谢.

  /*email: milo_zy@sohu.com*/

  #include "stdio.h"

  #include "dos.h"

  #include "stdlib.h"

  #include "graphics.h"

  #define WAITING 0xff00

  #define LEFTPRESS 0xff01

  #define LEFTCLICK 0xff10

  #define LEFTDRAG 0xff19

  #define MOUSEMOVE 0xff08

  int Keystate;/*这里的开始都与鼠标有关*/

  int MouseExist;

  int MouseButton;

  int MouseX;

  int MouseY;

  void *save;/*储存一块地方用的*/

  strUCt time now;/*这里开始的变量都是时间有关*/

  int old,new;

  char ss[10];

  struct caidan/*用来检验是否菜单已经打开*/

  c[4];

  /*鼠标光标外形定义*/

  typedef struct

   SHAPE;

  /*箭头型*/

  SHAPE ARROW=,

   0,0,

   };

  void TimeDelay(unsigned long microsec); /*延时函数 传入微秒数*/

  void MouseOn();/*鼠标光标显示*/

  void MouseOff();/*鼠标光标掩示*/

  void MouseReset();/*鼠标状态值初始化*/

  void MouseSetXY(int x,int y);/*设置鼠标当前位置*/

  int LeftPress();/*获取鼠标按下键的信息*/

  void MouseGetXY();/*获取鼠标当前位置*/

  void prtime();/*输出时间的函数*/

  void cdbegain();/*菜单各参数初始状态*/

  void Init();/*开始画面*/

  void delcd();/*先把已有的菜单删除了*/

  void drawcdml(int n);/*输出菜单中的具体内容*/

  void drawcd(int l,int u,int r,int d,int n);/*画菜单*/

  void mouseleft();/*左键按下画菜单具体内容*/

  void Move();/*测试过程*/

  void main(void)

  

  void TimeDelay(unsigned long microsec) /*延时函数 传入微秒数*/

  

  void MouseOn()/*鼠标光标显示*/

  

  void MouseOff()/*鼠标光标掩示*/

  

  void MouseReset()/*鼠标状态值初始化*/

  

  void MouseSetXY(int x,int y)/*设置鼠标当前位置*/

  

  int LeftPress()/*获取鼠标按下键的信息*/

  

  void MouseGetXY()/*获取鼠标当前位置*/

  

  void prtime()/*输出时间的函数*/

  

  }

  void cdbegain()/*菜单各参数初始状态*/

  

  void Init()/*开始画面*/

  

  void delcd()/*先把已有的菜单删除了*/

  

  }

  void drawcdml(int n)/*输出菜单中的具体内容*/

  

   setcolor(6);

   for(i=0;i<5;i++)

  

  }

  void drawcd(int l,int u,int r,int d,int n)/*画菜单*/

  

  void mouseleft()/*左键按下画菜单具体内容*/

  

   else if(MouseX>=150&&MouseX<=180)/*第2个菜单*/

  

   else if(MouseX>=250&&MouseX<=280)/*第3个菜单*/

  

   else if(MouseX>=350&&MouseX<=390)/*第4个菜单*/

  

  }

  void Move()/*测试过程*/

  

   else

  

   prtime();

   TimeDelay(500000);/*按了鼠标一次以后就停些时间才可以按*/

   }

   }

   free(save);

  }

  

  

  

精彩图集

赞助商链接