level 1
c闲人
楼主
我上次发的窗口界面看来大家意见挺大啊呵呵我那就在发一个里面的功能懒的做了
#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 0xff08int Keystate;/*这里的开始都与鼠标有关*/int MouseExist;int MouseButton;int MouseX;int MouseY;void *save;/*储存一块地方用的*/struct time now;/*这里开始的变量都是时间有关*/int old,new;char ss[10];struct caidan/*用来检验是否菜单已经打开*/{ int on;/*菜单打开1,否则0*/ char ml[5][20];/*子目录*/}c[4];/*鼠标光标形状定义*/typedef struct { unsigned int shape[32]; char hotx; char hoty; }SHAPE;/*箭头型*/SHAPE ARROW={ { 0x3fff,0x1fff,0x0fff,0x07ff, 0x03ff,0x01ff,0x00ff,0x007f, 0x003f,0x00ff,0x01ff,0x10ff, 0x30ff,0xf87f,0xf87f,0xfc3f, 0x0000,0x7c00,0x6000,0x7000, 0x7800,0x7c00,0x7e00,0x7f00, 0x7f80,0x7e00,0x7c00,0x4600, 0x0600,0x0300,0x0300,0x0180 }, 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){ Init(); Move(); MouseOff(); closegraph();}void TimeDelay(unsigned long microsec) /*延时函数 传入微秒数*/{ union REGS r; r.h.ah=0x86; r.x.cx=microsec>>16; r.x.dx=microsec; int86(0x15,&r,&r);}void MouseOn()/*鼠标光标显示*/ { _AX=0x01; geninterrupt(0x33); }void MouseOff()/*鼠标光标掩示*/ { _AX=0x02; geninterrupt(0x33); }void MouseReset()/*鼠标状态值初始化*/ { _AX=0x00; geninterrupt(0x33); }void MouseSetXY(int x,int y)/*设置鼠标当前位置*/ { _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33); }int LeftPress()/*获取鼠标按下键的信息*/ { _AX=0x03; geninterrupt(0x33); return(_BX&1); }void MouseGetXY()/*获取鼠标当前位置*/ { _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX; }void prtime()/*输出时间的函数*/{ gettime(&now); new=now.ti_sec; if(abs(new-old)>=1) { setfillstyle(SOLID_FILL,7);/*把原来的老时间给去除*/ bar(500,8,620,18); old=new; sprintf(ss,"%02d:%02d:%02d",now.ti_hour,now.ti_min,now.ti_sec); setcolor(0); outtextxy(500,8,ss); }}void cdbegain()/*菜单各参数初始状态*/{int i; for(i=0;i<4;i++)/*所有菜单都已经关闭*/ c[i].on=0; strcpy(c[0].ml[0],"Open");/*各菜单的各选项*/ strcpy(c[0].ml[1],"New"); strcpy(c[0].ml[2],"Save"); strcpy(c[0].ml[3],"Save as"); strcpy(c[0].ml[4],"Exit");
2004年08月19日 16点08分
1
#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 0xff08int Keystate;/*这里的开始都与鼠标有关*/int MouseExist;int MouseButton;int MouseX;int MouseY;void *save;/*储存一块地方用的*/struct time now;/*这里开始的变量都是时间有关*/int old,new;char ss[10];struct caidan/*用来检验是否菜单已经打开*/{ int on;/*菜单打开1,否则0*/ char ml[5][20];/*子目录*/}c[4];/*鼠标光标形状定义*/typedef struct { unsigned int shape[32]; char hotx; char hoty; }SHAPE;/*箭头型*/SHAPE ARROW={ { 0x3fff,0x1fff,0x0fff,0x07ff, 0x03ff,0x01ff,0x00ff,0x007f, 0x003f,0x00ff,0x01ff,0x10ff, 0x30ff,0xf87f,0xf87f,0xfc3f, 0x0000,0x7c00,0x6000,0x7000, 0x7800,0x7c00,0x7e00,0x7f00, 0x7f80,0x7e00,0x7c00,0x4600, 0x0600,0x0300,0x0300,0x0180 }, 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){ Init(); Move(); MouseOff(); closegraph();}void TimeDelay(unsigned long microsec) /*延时函数 传入微秒数*/{ union REGS r; r.h.ah=0x86; r.x.cx=microsec>>16; r.x.dx=microsec; int86(0x15,&r,&r);}void MouseOn()/*鼠标光标显示*/ { _AX=0x01; geninterrupt(0x33); }void MouseOff()/*鼠标光标掩示*/ { _AX=0x02; geninterrupt(0x33); }void MouseReset()/*鼠标状态值初始化*/ { _AX=0x00; geninterrupt(0x33); }void MouseSetXY(int x,int y)/*设置鼠标当前位置*/ { _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33); }int LeftPress()/*获取鼠标按下键的信息*/ { _AX=0x03; geninterrupt(0x33); return(_BX&1); }void MouseGetXY()/*获取鼠标当前位置*/ { _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX; }void prtime()/*输出时间的函数*/{ gettime(&now); new=now.ti_sec; if(abs(new-old)>=1) { setfillstyle(SOLID_FILL,7);/*把原来的老时间给去除*/ bar(500,8,620,18); old=new; sprintf(ss,"%02d:%02d:%02d",now.ti_hour,now.ti_min,now.ti_sec); setcolor(0); outtextxy(500,8,ss); }}void cdbegain()/*菜单各参数初始状态*/{int i; for(i=0;i<4;i++)/*所有菜单都已经关闭*/ c[i].on=0; strcpy(c[0].ml[0],"Open");/*各菜单的各选项*/ strcpy(c[0].ml[1],"New"); strcpy(c[0].ml[2],"Save"); strcpy(c[0].ml[3],"Save as"); strcpy(c[0].ml[4],"Exit");