在发窗口界面高手来吧
c语言吧
全部回复
仅看楼主
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
level 1
c闲人 楼主
各位高手大哥大姐们小弟学问有限希望你们给发个更好的
2004年08月19日 16点08分 3
level 2
鼠标好象不支持2000啊 我是过了! 谢谢你了 ! 我看到怎么在 C中使用鼠标 但是还不能用啊
2004年08月19日 17点08分 4
level 1
c闲人 楼主
好象是不支持200098里没问题
2004年08月19日 19点08分 5
level 0
哦! 谢谢!!
2004年08月20日 03点08分 6
level 1
这个很好,不好意思我忘了这里是C语言吧了,没办法.我没有找到C++的地方.有空我也把我的C代码粘过来.原来用C在Dos下也作了不少窗体.Edit类型比较多.呵呵,等我找找,刚上高中的时候写了不少呢.
2004年08月21日 18点08分 7
level 1
c闲人 楼主
楼上的行了我知道你厉害你让我想起我的一个朋友厉害是厉害就是光说不干我这人比较直自己不满意没必要装我发的贴是有很多垃圾不过我的想法不是一定要发精品我发的哪个简单窗口的意思的要告诉初学者非常简单的代码也能编出来窗口界面并不是我认为它是精品明白么在说一句:我的贴我要标明是高手请进你就进,没标明那就是给初学者看的我的贴不是不能让别人说不过有个要求就是你先发出来一个让大家看了你在说也不迟!
2004年08月21日 18点08分 8
level 0
qing 问问你的年龄|
2004年08月25日 08点08分 9
level 0
这个不错~!
2004年08月26日 02点08分 10
level 1
c闲人 楼主
9,楼的:请问你的头是指你长头的地方么?谢谢回答呵
2004年08月26日 05点08分 11
level 0
我想问一下在c语言中能不能开发出像在vb中那样的小形用户界面就是不要可执行文件在运行时是全屏的只是屏幕的一小部分而且能用鼠标在上面随心操作呢呵呵我以前在学校学过c只会皮毛,现在想来研究一下,呵呵,大家不要笑我哦谢谢哪位能回答我的菜鸟问题呢谢谢
2004年08月27日 16点08分 12
level 0
12:用32位的编译器.具体看本吧精华帖
2004年08月28日 00点08分 13
level 7
看到代码我就复制过来玩,一运行吓了我一跳,我以为中标了。。[瀑布汗~]
2012年03月23日 15点03分 14
1