这是财务管理系统的一个图形化界面主菜单 ;


下面这个是查询功能的一个子菜单;


一:

菜单的实现靠的是easyX,它是针对C++的一个图形库,编译器用的是Visual C。其实VC和easyX图形库就很容易上手制作一个鼠标点击的类图形化界面。

二:

下面是代码:

// 仅仅是展示 菜单的代码  一些功能性函数就清空了
#include <stdio.h>
#include <graphics.h>
//  因为防止报错
void addOut(){};
void changeOut(){};
void delOut(){};void addIn(){};
void changeIn(){};
void delIn(){};
void showIn(){};void showRest(){};
void cleanOut(){};
void cleanIn(){};
//  下面是主菜单的第三个查询功能后的子菜单代码
void showOut(){abcd :;  //这里使用了 goto : 是为了每次执行了功能后返回到第一步重新打印子菜单 也可以用更好的逻辑实现循环 而不用goto函数MOUSEMSG m;//定义鼠标变量 m//菜单initgraph(800,600); //定义画布大小也就是黑框大小setbkcolor(WHITE);//设置背景颜色cleardevice();//刷新一次 略等于那个system(cls)setfillcolor(LIGHTBLUE); //设置后面用函数画出方框的背景颜色 这里设置成了浅蓝色//     (左上角)x1 y1 (右下角)x2 y2fillrectangle(200,140,600,160);fillrectangle(200,200,600,220);fillrectangle(200,260,600,280);fillrectangle(200,320,600,340);fillrectangle(200,380,600,400);fillrectangle(200,440,600,460);settextstyle(15,0,"楷体");//设置文字大小 格式 setbkmode(TRANSPARENT);// 去掉文字背景//下面是输出字体 参数:(起始位置x 起始位置y “带输出的字符串”)outtextxy(250,142,"查询某一年的总支出");outtextxy(250,202,"查询某年某月的总支出");outtextxy(250,262,"查询某年某月某日的支出");outtextxy(250,322,"根据关键字查询支出情况");outtextxy(250,382,"列出所有支出情况");outtextxy(250,442,"返回主菜单");
//进入触发条件的循环while(1){////m = GetMouseMsg();if(m.x>=200 && m.x<= 600 && m.y >=140&& m.y<=160){//检测鼠标的位置 是否满足条件setlinecolor(RED);//满足后 设置新的边框为红色rectangle(190,135,610,165);//画新的边框//如果点击了 年份if(m.uMsg==WM_LBUTTONDOWN){//yearOut();//响应功能goto abcd;//功能实现后 跳转到 最开头}}else if(m.x>=200 && m.x<= 600 && m.y >=200&& m.y<=220){setlinecolor(RED);rectangle(190,195,610,225);//如果点击了月if(m.uMsg==WM_LBUTTONDOWN){// monthOut();goto abcd;}}else if(m.x>=200 && m.x<= 600 && m.y >=260&& m.y<=280){setlinecolor(RED);rectangle(190,255,610,285);//点击了日if(m.uMsg==WM_LBUTTONDOWN){//    dayOut();goto abcd;}}else if(m.x>=200 && m.x<= 600 && m.y >=320&& m.y<=340){setlinecolor(RED);rectangle(190,315,610,345);//点击了关键字if(m.uMsg==WM_LBUTTONDOWN){//    memOut();goto abcd;}}//else if(m.x>=200 && m.x<= 600 && m.y >=380&& m.y<=400){//setlinecolor(RED);rectangle(190,375,610,405);//点击了列出所有if(m.uMsg==WM_LBUTTONDOWN){//   show();goto abcd;}}else if(m.x>=200 && m.x<= 600 && m.y >=440&& m.y<=460){//setlinecolor(RED);rectangle(190,435,610,465);//点击了返回if(m.uMsg==WM_LBUTTONDOWN){goto abcde;}}//一旦鼠标不在相应位置 将画出白色边框 覆盖之前的红色边框else {setlinecolor(WHITE);rectangle(190,135,610,165);rectangle(190,195,610,225);rectangle(190,255,610,285);rectangle(190,315,610,345);rectangle(190,375,610,405);rectangle(190,435,610,465);}}abcde:;//点击退出按钮 就跳转到这里退出子菜单 返回主菜单
}//下面是主菜单的实现 实现的细节和子菜单的类似
void drawMenu(){abcd :;MOUSEMSG m;//菜单initgraph(800,600);setbkcolor(WHITE);cleardevice();//刷新一次 略等于那个system(cls)setfillcolor(LIGHTBLUE);//           左边1 高1 左边2 高2fillrectangle(300,10,500,30);fillrectangle(300,50,500,70);fillrectangle(300,90,500,110);fillrectangle(300,130,500,150);fillrectangle(300,200,500,220);fillrectangle(300,240,500,260);fillrectangle(300,280,500,300);fillrectangle(300,320,500,340);fillrectangle(300,390,500,410);fillrectangle(300,430,500,450);fillrectangle(300,470,500,490);  settextstyle(15,0,"楷体");//设置文字格式setbkmode(TRANSPARENT);// 去掉文字背景outtextxy(370,15,"添加支出");outtextxy(370,55,"删除支出");outtextxy(370,95,"查询支出");outtextxy(370,135,"修改支出");outtextxy(370,205,"添加收入");outtextxy(370,245,"删除收入");outtextxy(370,280,"查询收入");outtextxy(370,320,"修改收入");outtextxy(380,395,"结算");outtextxy(355,433,"清空支出信息");outtextxy(355,472,"清空收入信息");settextcolor(BLACK);settextstyle(45,0,"楷体");outtextxy(120,530,"家庭财务管理系统V1.0(三组)");while(1){////m = GetMouseMsg();if(m.x>=300 && m.x<= 500 && m.y >=10&& m.y<=30){setlinecolor(RED);rectangle(295,5,505,35);//如果点击了添加if(m.uMsg==WM_LBUTTONDOWN){addOut();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=50&& m.y<=70){setlinecolor(RED);rectangle(295,45,505,75);//如果点击了删除if(m.uMsg==WM_LBUTTONDOWN){delOut();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=90&& m.y<=110){setlinecolor(RED);rectangle(295,85,505,115);//点击了查询if(m.uMsg==WM_LBUTTONDOWN){showOut();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=130&& m.y<=150){setlinecolor(RED);rectangle(295,125,505,155);//点击了修改if(m.uMsg==WM_LBUTTONDOWN){changeOut();goto abcd;}}//else if(m.x>=300 && m.x<= 500 && m.y >=200&& m.y<=220){//setlinecolor(RED);rectangle(295,195,505,225);//点击了添加Inif(m.uMsg==WM_LBUTTONDOWN){addIn();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=240&& m.y<=260){//setlinecolor(RED);rectangle(295,235,505,265);//点击了删除Inif(m.uMsg==WM_LBUTTONDOWN){delIn();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=280&& m.y<=300){setlinecolor(RED);rectangle(295,275,505,305);//点击了查询Inif(m.uMsg==WM_LBUTTONDOWN){showIn();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=320&& m.y<=340){setlinecolor(RED);rectangle(295,315,505,345);//点击了修改Inif(m.uMsg==WM_LBUTTONDOWN){changeIn();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=390&& m.y<=410){setlinecolor(RED);rectangle(295,385,505,415);//点击了结算if(m.uMsg==WM_LBUTTONDOWN){showRest();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=430&& m.y<=450){setlinecolor(RED);rectangle(295,425,505,455);//点击了清空Outif(m.uMsg==WM_LBUTTONDOWN){cleanOut();goto abcd;}}else if(m.x>=300 && m.x<= 500 && m.y >=470&& m.y<=490){setlinecolor(RED);rectangle(295,465,505,495);//点击了清空Inif(m.uMsg==WM_LBUTTONDOWN){cleanIn();goto abcd;}}else {setlinecolor(WHITE);rectangle(295,5,505,35);rectangle(295,45,505,75);rectangle(295,85,505,115);rectangle(295,125,505,155);rectangle(295,235,505,265);rectangle(295,275,505,305);rectangle(295,315,505,345);rectangle(295,195,505,225);rectangle(295,385,505,415);rectangle(295,425,505,455);rectangle(295,465,505,495);}}getchar();closegraph();
}
这里是主函数! 仅仅调用了主菜单的函数。
int main(){drawMenu();
}

如何用C的easyX图形库制作图形化界面菜单(财务管理系统)相关推荐

  1. Eclipse安装windowsBuilder插件制作图形化界面

    一.如果想在Eclipse上方便地创建图形化界面,应该先装windowsBuilder插件,插件链接如下: 链接:http://download.eclipse.org/windowbuilder/W ...

  2. python制作图形化界面_python图形化界面设计(wxpython)一布局管理

    本篇内容来自https://www.cnblogs.com/-wenli/p/12149850.html 1.布局分析和注意点 例程主要是Sizer布局应用.wx.BoxSizer的布局方向分为横向和 ...

  3. 图形化界面扫雷(C语言+easyx实现,多图教学)

    扫雷 前言 准备工作 EasyX的下载 一些准备知识 头文件的引用 图形化界面的创建 图形化界面简介 图片加载与放置图片 鼠标操作 提示框 其它的准备知识 思路分析 代码实现 准备工作 初始化游戏的函 ...

  4. c语言使用easyX图形库制作打气球小游戏

    大一c语言使用easyX图形库制作打气球小游戏 如果你是入门easyX图形库,那么这个打气球小游戏将会是和不错的入门项目选择,easyX开创了可视化窗口,使用户更加直观的了解到对象的变化,总代码以及素 ...

  5. VS2019——easyx新版图形库图形化界面及音频播放的疑难杂症

    大二的孝高学子 一.mcisendstring()和playsound() easyx插入音频的时候 当我利用mcisendstring()播放音频信息时候会发现只用通过控制台界面输出才能输出我的音频 ...

  6. 肝货,详解 tkinter 图形化界面制作流程!

    作者 | 黄伟呢 来源 | 数据分析与统计学之美 本期案例是带着大家制作一个属于自己的GUI图形化界面->用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢?限于篇幅,今天我们首 ...

  7. 又一个4000字肝货,详解tkinter图形化界面制作流程!

    本期案例是带着大家制作一个属于自己的GUI图形化界面->用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢?限于篇幅,今天我们首先详细讲述一下Tkinter的使用方法.本来不准备 ...

  8. python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力

    Python的GUI简易界面设计案例 测测你的反应力      作为初次接触代码编程的你,是不是觉得Python程序除了"码"就是"字"即使是有趣的程序除了烧烧 ...

  9. 入门C语言第三话:数组之实战篇——扫雷(进阶版——图形化界面,递归展开,播放音乐与音效,标记取消雷,记录雷的个数,鼠标点击,文末附有完整代码)

    文章目录 前言 每日鸡汤 基本思路 衔接基础班扫雷 准备阶段 正文 一.雷盘信息的存储 1.设置雷盘11*11与初始化 2.放置雷 3.放置雷周围的信息 二.图形化界面 1.创建与初始化窗口 2.加载 ...

最新文章

  1. Python使用matplotlib可视化柱状图、坐标轴标签的符号(-)显示为了方框□□、设置rcParams参数配置解决
  2. php找不到控制器里面的方法,php – 在Laravel 4中找不到控制器类
  3. css 文字重叠_学习过CSS,那你知道BFC是什么吗?
  4. java boxplot_Matlab Boxplots
  5. discuz mysql data_Discuz!显示 Database Error的原因和解决方法
  6. redis集群信息分析-cluster info-cluster nodes
  7. [css] 说说你对字母“X“在CSS中有什么作用?
  8. VS Code 0.5添加ES6支持和Git工具改进
  9. TXSQL:云计算时代数据库核弹头——云+未来峰会开发者专场回顾
  10. paip.c++ 常用类库attilax总结
  11. UE4.26官方文档网页浏览录屏打包下载版
  12. VS2010 移除源文件又增加源文件,无法编译问题
  13. 怎么入门学习Java编程
  14. I-D-E-A中maven的常用指令
  15. 这个牛逼哄哄的数据库开源了
  16. RxJS + Redux + React = Amazing!(译二)
  17. java1.8安装及环境变量配置详细教程(专业保姆级,秒会)
  18. VTN系列多通道振弦采集仪数据查看和参数修改
  19. 挤掉“酸柠檬”,内容创作市场迎来质量革命
  20. 2022年焊工(初级)试题及答案

热门文章

  1. vue3的setup方法注意事项
  2. java的编译器、解释器和JIT编译器(转载)
  3. 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(3)--调制方法
  4. 大学生穷不可怕,可怕的是思维也“穷”!!
  5. Android Studio上方app图标出现红色的×
  6. 怎样获得Vollar,玩转VDS详解
  7. 工业互联网安全建设发展趋势
  8. 【聯強EMBA】「本能叛逆」與「理性叛逆」
  9. 魔都商城 mysql(数据库表)
  10. 中兴服务器售后,中兴全兼容智能视讯服务器ZXMVC8900