c++ 菜单动态效果
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdarg.h>
#include <time.h>
#include "hello.h"
#include <share.h>
#include <Windows.h>
//#define var 333;
//移动光标位置
void gotoxy(int x,int y)
{
COORD xy;
HANDLE hstdout;
hstdout=GetStdHandle(STD_OUTPUT_HANDLE);
xy.X=x;
xy.Y=y;
SetConsoleCursorPosition(hstdout,xy);
//CloseHandle(hstdout);
}
void fillchar(char a,int charlen)
{
COORD xy={};
HANDLE hstdout;
long byw; hstdout=GetStdHandle(STD_OUTPUT_HANDLE);
FillConsoleOutputCharacter(hstdout,a,charlen,xy,&byw);
CloseHandle(hstdout);
}
#define X 20
#define Y 6
//绘制边框
void drawM(void)
{
int i;
//上边
gotoxy(X,Y);
printf("┏");
for (i=;i<=;i++)
{
printf("━");
}
printf("┓");
//左边
for (i=;i<=;i++)
{
gotoxy(X,Y+i);
printf("┃");
}
//右边
for (i=;i<=;i++)
{
gotoxy(X+,Y+i);
printf("┃");
}
//下边
gotoxy(X,Y+);
printf("┗");
for (i=;i<=;i++)
{
printf("━");
}
printf("┛");
return ; }
//drawmenu
void drawmenu(void)
{
gotoxy(X+,Y+);
printf("1->菜单选项一");
gotoxy(X+,Y++);
printf(" 菜单选项二");
gotoxy(X+,Y+++);
printf(" 退出");
gotoxy(,);
}
int selmenu_Num=;
int selmenu(void)
{ //0,1,2
//如果按下↓selmenu_Num++; 如果>2 selmenu_Num=0;
//如果按下↑selmenu_Num--; 如果<0 selmenu_Num=2;
int ch=;
while()
{
ch=getch();
//gotoxy(0,0);
//printf("%d ",ch);
if (ch==)
{
return selmenu_Num;
}
switch(ch)
{
case ://上光标
selmenu_Num--;
if (selmenu_Num<)
{
selmenu_Num=;
}
break;
case : //下光标
selmenu_Num++;
if (selmenu_Num>)
{
selmenu_Num=;
}
break;
}
gotoxy(,);
// printf("selmenu_num=%d",selmenu_Num);
//动态菜单
switch(selmenu_Num)
{
case :
gotoxy(X+,Y+);
printf("1->");
gotoxy(X+,Y++);
printf(" ");
gotoxy(X+,Y+++);
printf(" ");
gotoxy(,);
break;
case :
gotoxy(X+,Y+);
printf(" ");
gotoxy(X+,Y++);
printf("2->");
gotoxy(X+,Y+++);
printf(" ");
gotoxy(,);
break;
case :
gotoxy(X+,Y+);
printf(" ");
gotoxy(X+,Y++);
printf(" ");
gotoxy(X+,Y+++);
printf("3->");
gotoxy(,);
break;
}
} //end while return selmenu_Num;
}
//doMenu
void doMenu(void)
{ int sel;
sel= selmenu();
switch(sel)
{
case : //菜单一
gotoxy(,);
printf("\n菜单一功能\n");
break;
case :
gotoxy(,);
printf("\n菜单二功能\n");
break;
case : //退出
exit();
break;
}
} int main(void)
{ //Y行 X列
// fillchar(' ',3000);
system("color 0a");
system("title QQ150330575");
drawM();
drawmenu();
doMenu();
getchar();
getchar();
return ;
}
c++ 菜单动态效果的更多相关文章
- tab菜单的点击的动态效果和内容页面的关联显示jQuery
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- IOS 弹出菜单的动态效果
效果1.点击按钮上浮 2.点击按钮下沉 3.点击按钮下拉展示 4.点击按钮向上收缩 5.左右如是说 关键是改变视图的大小位置的时机正确与否 eg1.1.点击按钮下沉消失 已知myView.frame= ...
- 使用hovertree菜单作为后台导航
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果. 0.1.3版本:http://keleyi.com/ ...
- HoverTree菜单0.1.3新增效果
HoverTree菜单0.1.3增加弹出菜单的动态效果,可以是动态下拉,也可以是动态淡入. 效果请看:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.ht ...
- Android开源库--SlidingMenu左右侧滑菜单
如果说我比别人看得更远些,那是因为我站在了巨人的肩上. github地址:https://github.com/jfeinstein10/SlidingMenu 设置: 1.下载之后以依赖项的 ...
- css3 javascript 实现菜单按钮特效
一个菜单按钮特效案例,简单的实现了动态效果. 代码效果预览地址: http://code.w3ctech.com/detail/2504 <div class="bar" i ...
- 干货分享!关于APP导航菜单设计你应该了解的一切
导航菜单是人机交互的最主要的桥梁和平台,主要作用是不让用户迷失方向.现在市面上产品的菜单栏种类繁多,到底什么样的才是优秀的导航菜单设计呢?好的菜单设计不仅能提升整个产品的用户体验,而且还能让用户耳目一 ...
- Javascript导航菜单13则
来源:http://www.noupe.com/ajax/13-awesome-java-script-css-menu.html翻译:http://parandroid.com下面为你准备了13个利 ...
- Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身
Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身 Bing Maps Silverlight Control所提供的功能导航是非常强大的,在设计上对扩展的支持非常好,提供了许多用 ...
随机推荐
- Win10自动重启原因怎么查Windows10无故自动重启
电脑偶尔自动重启,可能很少用户会在意,若电脑经常无故重启,那么应该怎么办,怎么查找电脑无故自动重启原因呢?下面就以Windows10系统自动重启为例,来查查WIN10无故重启是什么原因导致.百度经验: ...
- Lombok在工程中的使用
在公司的项目中应用了Lombok插件,在idea中需要启用Annotation Processors中的Enable annotation processing选项,之后才能使用Lombok的各个注解 ...
- IP地址分类和网段区分的知识
IP地址分类/IP地址10开头和172开头和192开头的区别/判断是否同一网段 简单来说在公司或企业内部看到的就基本都是内网IP,ABC三类IP地址里的常见IP段. 每个IP地址都包含两部分,即网络号 ...
- 如何访问WEB-INFO目录中的jsp文件
说明:应用服务器把WEB-INF指为禁访目录,即直接在浏览器里是不能访问的. 如何访问如下: 1.在项目的web.xml文件中去配置servlet <servlet> <servle ...
- linux之安装nali本地解析IP归属
参考博文:http://www.dwhd.org/20150802_014526.html 1.安装nali wget http://www.dwhd.org/wp-content/uploads/2 ...
- Automapper实现自动映射
出于安全考虑,在后台与前台进行数据传输时,往往不会直接传输实体模型,而是使用Dto(Data transfer object 数据传输对象),这样在后台往前台传递数据时可以省略不必要的信息,只保留必要 ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
- 利用skipList(跳表)来实现排序(待补充)
用于排名的数据结构 一般排序为利用堆排序(二叉树)和利用skipList(跳表)的方式 redis中SortedSet利用skipList(跳表)来实现排序,复杂度为O(logn),利用空间换时间,类 ...
- 工作中碰到的一个问题(cookie相关)
今天上线了一个API,6台机器做的集群.API的第一步是读取cookie,判断用户是否登录. 例如,线上服务器分别是 10.255.242.1 10.255.242.2 10.255.242.3 10 ...
- Mac OS X 10.9 Mavericks 无法启动 WebStorm(PhpStorm)
手滑把Mac的系统升到了10.9,结果机子上的PhpStorm6.0启动不了. 十分天真的重装了一次PhpStorm,问题依然没有修复. 开始怨念苹果的这次升级,毕竟以往的升级都是无缝的,升级OS就应 ...