一个简单菜单程序

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

今天下午下个菜单程序试试看,主要是要用鼠标控制的,现在还没写完,发现有一些问题值得大家讨论下,也希望用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);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航