资源简介
文本菜单,但不是dos环境的,比较直观,有输出报表功能,运行后可以用鼠标操作,直接代码文件,报告什么的就不传了。

代码片段和文件信息
#include“htt.h“
int main()
{
COORD size = {SCR_COL SCR_ROW}; /*窗口缓冲区大小*/
gh_std_out = GetStdHandle(STD_OUTPUT_HANDLE); /* 获取标准输出设备句柄*/
gh_std_in = GetStdHandle(STD_INPUT_HANDLE); /* 获取标准输入设备句柄*/
SetConsoletitle(gp_sys_name); /*设置窗口标题*/
SetConsoleScreenBufferSize(gh_std_out size); /*设置窗口缓冲区大小80*25*/
LoadData();
InitInterface(); /*界面初始化*/
RunSys(&head); /*系统功能模块的选择及运行*/
CloseSys(head); /*退出系统*/
return 0;
}
/**
* 函数名称: InitInterface
* 函数功能: 初始化界面.
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
*
* 调用说明:
*/
void InitInterface()
{
WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY
| BACKGROUND_BLUE; /*黄色前景和蓝色背景*/
SetConsoleTextAttribute(gh_std_out att); /*设置控制台屏幕缓冲区字符属性*/
ClearScreen(); /* 清屏*/
/*创建弹出窗口信息堆栈,将初始化后的屏幕窗口当作第一层弹出窗口*/
gp_scr_att = (char *)calloc(SCR_COL * SCR_ROW sizeof(char));/*屏幕字符属性*/
gp_top_layer = (layer_NODE *)malloc(sizeof(layer_NODE));
gp_top_layer->layerNo = 0; /*弹出窗口的层号为0*/
gp_top_layer->rcArea.Left = 0; /*弹出窗口的区域为整个屏幕窗口*/
gp_top_layer->rcArea.Top = 0;
gp_top_layer->rcArea.Right = SCR_COL - 1;
gp_top_layer->rcArea.Bottom = SCR_ROW - 1;
gp_top_layer->pContent = NULL;
gp_top_layer->pScrAtt = gp_scr_att;
gp_top_layer->next = NULL;
ShowMenu(); /*显示菜单栏*/
ShowState(); /*显示状态栏*/
return;
}
/**
* 函数名称: ClearScreen
* 函数功能: 清除屏幕信息.
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
*
* 调用说明:
*/
void ClearScreen(void)
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
COORD home = {0 0};
unsigned long size;
GetConsoleScreenBufferInfo( gh_std_out &bInfo );/*取屏幕缓冲区信息*/
size = bInfo.dwSize.X * bInfo.dwSize.Y; /*计算屏幕缓冲区字符单元数*/
/*将屏幕缓冲区所有单元的字符属性设置为当前屏幕缓冲区字符属性*/
FillConsoleOutputAttribute(gh_std_out bInfo.wAttributes size home NULL);
/*将屏幕缓冲区所有单元填充为空格字符*/
FillConsoleOutputCharacter(gh_std_out ‘ ‘ size home NULL);
return;
}
/**
* 函数名称: ShowMenu
* 函数功能: 在屏幕上显示主菜单 并设置热区 在主菜单第一项上置选中标记.
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
*‘
* 调用说明:
*/
void ShowMenu()
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
CONSOLE_CURSOR_INFO lpCur;
COORD size;
COORD pos = {0 0};
int i j;
int PosA = 2 PosB;
char ch;
GetConsoleScreenBufferInfo( gh_std_out &bInfo );
size.X = bInfo.dwSize.X;
size.Y = 1;
SetConsoleCursorPosition(gh_std_out pos);
for (i=0; i < 5; i++) /*在窗口第一行第一列处输出主菜单项*/
{
printf(“ %s “ ga_main_menu[i]);
}
GetConsoleCursorInfo(gh_std_out &lpCur);
lpCur.bVisible = FALSE;
SetConsoleCursorInfo(gh_std_out &lpCur); /*隐藏光标*/
/*申请动态存储区作为存放菜单条屏幕区字符信息的缓冲区*/
gp_buff_menubar_info = (CHAR_INFO *)malloc(size.X * size.Y * sizeof(CHAR_INFO));
SMALL_RECT rcMenu = {0 0 size.X-1 0} ;
/*将窗口第一行的内容读入到存放菜单条屏幕区字符信息的缓
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-07-17 08:42 HTT\
文件 1076 2013-10-18 22:59 HTT\HTT.cbp
文件 1257 2014-07-17 08:38 HTT\HTT.depend
文件 346 2014-07-17 08:42 HTT\HTT.layout
目录 0 2014-05-17 10:44 HTT\bin\
目录 0 2014-07-17 08:42 HTT\bin\Debug\
文件 102366 2014-07-17 08:42 HTT\bin\Debug\HTT.exe
文件 9209 2013-10-23 17:55 HTT\htt.h
文件 125382 2014-07-17 08:42 HTT\main.c
目录 0 2014-01-17 21:59 HTT\obj\
目录 0 2014-07-17 08:42 HTT\obj\Debug\
文件 108416 2014-07-17 08:42 HTT\obj\Debug\main.o
- 上一篇:stm32f103zet6开发板LCD显示屏源码
- 下一篇:合肥工业大学课件
相关资源
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
- 单片机 点阵 字模提取软件
- C高级编程讲义-传智播客
- NOIP必学内容之前缀和与差分颜鸿宇
- Skyline高效检索算法实现.zip
- STM8S103系列IO模拟串口通信实现真正串
- stm32f103c8t6移植uC/OS-III基于HAL库的工程
- 温度、一氧化碳、二氧化碳、PM2.5以及
- 王道论坛计算机考研机试指南
- 有限元中网格剖分算法
- PLC开源资料
评论
共有 条评论