#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++ 菜单动态效果的更多相关文章

  1. tab菜单的点击的动态效果和内容页面的关联显示jQuery

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. IOS 弹出菜单的动态效果

    效果1.点击按钮上浮 2.点击按钮下沉 3.点击按钮下拉展示 4.点击按钮向上收缩 5.左右如是说 关键是改变视图的大小位置的时机正确与否 eg1.1.点击按钮下沉消失 已知myView.frame= ...

  3. 使用hovertree菜单作为后台导航

    hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果. 0.1.3版本:http://keleyi.com/ ...

  4. HoverTree菜单0.1.3新增效果

    HoverTree菜单0.1.3增加弹出菜单的动态效果,可以是动态下拉,也可以是动态淡入. 效果请看:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.ht ...

  5. Android开源库--SlidingMenu左右侧滑菜单

    如果说我比别人看得更远些,那是因为我站在了巨人的肩上.   github地址:https://github.com/jfeinstein10/SlidingMenu   设置: 1.下载之后以依赖项的 ...

  6. css3 javascript 实现菜单按钮特效

    一个菜单按钮特效案例,简单的实现了动态效果. 代码效果预览地址: http://code.w3ctech.com/detail/2504 <div class="bar" i ...

  7. 干货分享!关于APP导航菜单设计你应该了解的一切

    导航菜单是人机交互的最主要的桥梁和平台,主要作用是不让用户迷失方向.现在市面上产品的菜单栏种类繁多,到底什么样的才是优秀的导航菜单设计呢?好的菜单设计不仅能提升整个产品的用户体验,而且还能让用户耳目一 ...

  8. Javascript导航菜单13则

    来源:http://www.noupe.com/ajax/13-awesome-java-script-css-menu.html翻译:http://parandroid.com下面为你准备了13个利 ...

  9. Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身

    Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身 Bing Maps Silverlight Control所提供的功能导航是非常强大的,在设计上对扩展的支持非常好,提供了许多用 ...

随机推荐

  1. ExpressRoute 线路和路由域

    你必须订购一条 ExpressRoute 线路 ,以通过连接提供商将你的本地基础结构连接到 Azure.下图提供了你的 WAN 与 Azure 之间的连接的逻辑表示形式. ExpressRoute 线 ...

  2. springMVC入门-07

    删除功能实现,对应controller类中的代码如下所示: @RequestMapping(value="/{username}/delete",method=RequestMet ...

  3. Windows+Git+TortoiseGit+COPSSH 安装教程及问题收集

    准备工作: 1. git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. C ...

  4. C# Redis的操作

    Nuget添加StackExchange.Redis的引用 由于Redis封装类同时使用了Json,需要添加JSON.NET引用(Newtonsoft.Json) Redis封装类 /// <s ...

  5. windows下搭建vue开发环境

    Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.2016 ...

  6. jQuery: 刨根问底 attr and prop两个函数的区别

    In this short post I will explain the difference between attributes and properties in HTML. The .pro ...

  7. HtmlImageGenerator字体乱码问题解决、html2image放linux上乱码问题解决

    使用html2image-0.9.jar生成图片. 在本地window系统正常,放到服务器linux系统时候中文乱码问题.英文可以,中文乱码应该就是字体问题了. 一.首先需要在linux安装字体,si ...

  8. vue async/await同步 案例

    1.async/await场景 这是一个用同步的思维来解决异步问题的方案,当前端接口调用需要等到接口返回值以后渲染页面时. 2.名词解释 >async async的用法,它作为一个关键字放到函数 ...

  9. 20165318 2017-2018-2 《Java程序设计》第六周学习总结

    20165318 2017-2018-2 <Java程序设计>第六周学习总结 教材内容学习总结 第八章 常用实用类 1.String类 String类用来处理字符序列,在java.lang ...

  10. django CBV模式下如何去掉csrf验证

    方式一:from django.views.decorators.csrf import csrf_exemptfrom django.utils.decorators import method_d ...