动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.我的程序人生路.
.c/c++中字符串常量的不相等性,以.
.堆栈应用-后缀式四则计算器.
.创世纪的C++ Builder--入门例子.
.C++数据结构学习:在链表中链入对.
.算法.
.经典c程序100例==61--70.
.C++箴言:从模板中分离出参数无关.
.C/C++英/中,繁/简编程术语对照.
.C++指针使用方法解惑.
.怎样启动一个程序而不显示它.
.本人用C++编写的约瑟夫环的小程序.
.共享软件中注册部分的简单实现.
.C++如何处理内联虚函数.
.Struts+Hibernate中解决汉字编码.
.数据结构学习(C++)之二叉树.
.C++程序中导出Word文档简易方法.
.c语言最经典的链表.
.使用wxdindows开发跨平台的界面.
.C++ Builder 初学问与答(四).

个简单菜单程序

发表日期:2008-3-8 |


今天下午下个菜单程序试试看,主要是要用鼠标控制的,现在还没写完,发现有一些问题值得大家讨论下,也希望用c写过鼠标控制菜单程序的朋友一起来探讨下.首先是鼠标假如没按键而位置在菜单选向上的时候,大家觉得这个时候应该在菜单主标题这里显示什么样的效果呢?是用rectangle画一个框还是添加背景颜色呢?同样在菜单选向里也应该显示什么样的效果.第二个问题是假如有滚屏的话你们觉得是把一大块保存下来,还是一行行保存好呢?希望写过类似程序的朋友以及想写这个程序的朋友提点意见吧,谢谢.
/*email: milo_zy@sohu.com*/
#include "stdio.h"
#include "dos.h"
#include "stdlib.h"
#include "graphics.h"
#define WA99vING 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/*用来检验是否菜单已经打开*/
{
 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");
 strcpy(c[1].ml[0],"Undo");
 strcpy(c[1].ml[1],"Cut");
 strcpy(c[1].ml[2],"Copy");
 strcpy(c[1].ml[3],"Paste");
 strcpy(c[1].ml[4],"Properties");
 strcpy(c[2].ml[0],"Styles");
 strcpy(c[2].ml[1],"L Icons");
 strcpy(c[2].ml[2],"S Icons");
 strcpy(c[2].ml[3],"\0");
 strcpy(c[2].ml[4],"\0");
 strcpy(c[3].ml[0],"Textcolor");
 strcpy(c[3].ml[1],"Backcolor");
 strcpy(c[3].ml[2],"Clearscr");
 strcpy(c[3].ml[3],"\0");
 strcpy(c[3].ml[4],"\0");
}
void Init()/*开始画面*/
{
 int gd=DETECT,gm;
 unsigned size;
 initgraph(&gd,&gm,"c:\\tc");
 gettime(&now);/*获取时间*/
 old=now.ti_sec;
 prtime();/*输出时间*/
 setcolor(15);
 size=imagesize(40,21,140,130);
 save=malloc(size);/*开辟存储空间*/
 setbkcolor(BLUE);/*以下是开始界面初始化*/
 rectangle(2,25,638,470);
 outtextxy(10,40,"Because of c,I make a lot of friends.");/*测试菜单不覆盖原来的东西*/
 outtextxy(10,60,"Because of c,I'm afraid I can do ......");
 outtextxy(10,80,"Thank you for all the friends in the c classroom.");
 outtextxy(400,110,"milo_zy");
 outtextxy(390,130,"2003.9.20");
 setfillstyle(SOLID_FILL,7);
 bar(0,0,640,20);
 setcolor(RED);
 outtextxy(50,8,"File");
 outtextxy(150,8,"Edit");
 outtextxy(250,8,"Tool");
 outtextxy(350,8,"Color");
 cdbegain();/*菜单各参数初始状态*/
 MouseOn();
}
void delcd()/*先把已有的菜单删除了*/
{
 int i;
 for(i=0;i<4;i++)
 if(c[i].on==1)
  {
   if(i==0)/*开始恢复原来的样子*/
    putimage(40,21,save,COPY_PUT);
   else if(i==1)
    putimage(140,21,save,COPY_PUT);
   else if(i==2)
    putimage(240,21,save,COPY_PUT);
   else
    putimage(340,21,save,COPY_PUT);
   c[i].on=0;
   break;
  }
}
void drawcdml(int n)/*输出菜单中的具体内容*/
{
 int i,j=30,k;
 switch(n)
 {
  case 0:k=50;break;
  case 1:k=150;break;
  case 2:k=250;break;
  case 3:k=350;break;
 }
 setcolor(6);
 for(i=0;i<5;i++)
      &n

上一篇:根据接受的数字在控制台打印出各种大小的菱形 人气:409
下一篇:钩子的应用: 程序运行监视 人气:528
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-8 美女写真小偷程序联盟 v3.0 后台
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵