c++ 绘制方框
知识点:
GetStdHandle函数
FillConsoleOutputCharacter函数
SetConsoleCursorPosition函数
system函数 一、 GetStdHandle 获取标准设备句柄 :
HANDLE GetStdHandle( DWORD nStdHandle );
GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
其参数nStdHandle的值为下面几种类型的一种:
值含义
STD_INPUT_HANDLE 标准输入的句柄
STD_OUTPUT_HANDLE 标准输出的句柄
STD_ERROR_HANDLE 标准错误的句柄
二、FillConsoleOutputCharacter 填充字符
BOOL FillConsoleOutputCharacter( HANDLE hConsoleOutput, // 缓冲区句柄 一般通过
GetStdHandle(STD_OUTPUT_HANDLE)获取
TCHAR cCharacter, // 要填充的字符
DWORD nLength, // 填充的字符数量
COORD dwWriteCoord, // 填充的起始坐标x,y
LPDWORD lpNumberOfCharsWritten
// 返回一个写入数量的指针 ); 三、SetConsoleCursorPosition 移动光标位置
BOOL SetConsoleCursorPosition( HANDLE hConsoleOutput, //缓冲区句柄 一般通过
GetStdHandle(STD_OUTPUT_HANDLE)获取 COORD dwCursorPosition // 指定新的光标位置
); 四、设置当前光标位置 gotoxy(int x, int y);
//之前需要用字符填满窗口缓冲区
、获取当前输出缓冲区句柄 GetStdHandle
、设置当前光标位置(x,y) SetConsoleCursorPosition 五、用system命令设置颜色和标题
system("title 郁金香灬老师:QQ150330575"); //设置标题
system("color 0A"); //设置颜色
六、绘制方框
、确定左上角坐标X,Y //画边前先用空格填满窗口缓冲区
、画上边
、画下边
、画左边
、下右边 作业:
A、探讨以下2个控制台函数的使用方法:
、GetConsoleTitle 获取控制台窗口标题
、SetConsoleTitle 设置控制台窗口标题
B、绘制一个2*2的表格 : 类似下图 #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> //清屏
void cls_screen(char a)
{
COORD xy={,};
long byw;
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
FillConsoleOutputCharacter(hout,a,,xy,&byw);
}
//#define var 333;
void gotoxy(int x,int y)
{
COORD xy={,}; HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
xy.X=x;
xy.Y=y;
SetConsoleCursorPosition(hout,xy);
}
//绘制方框
#define X 22
#define Y 6
void drawM(void)
{ int i,j;
//到达x,y
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("┛"); }
int main(void)
{ system("title QQ150330575");
system("color 0a");
system("dir");
cls_screen(' ');//清屏;
cls_screen(' ');//;
gotoxy(,);
//绘制方框
drawM();
getchar();
getchar();
return ;
}
c++ 绘制方框的更多相关文章
- WPF 截图控件之绘制方框与椭圆(四) 「仿微信」
前言 接着上周写的截图控件继续更新 绘制方框与椭圆. 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 正文 有开发者在B站反 ...
- C# 绘制矩形方框读写内存类 cs1.6人物透视例子
封装的有问题 其中方框可能在别的方向可能 会显示不出来建议不要下载了 抽时间我会用纯c#写一个例子的 其中绘制方框文字和直线调用的外部dll采用DX11(不吃CUP)绘制我封装成了DLL命名为 S ...
- FPS游戏逆向-方框透视(三角函数)
本套课程主要学习FPS类游戏安全 由于FPS类游戏本身的特性问题,可能产生一些通用的游戏安全问题 在通过逆向与正向对FPS类游戏分析之后,找到其可能出现的不安全点 才能更好的保护游戏不被外部力量侵犯 ...
- WPF 截图控件之绘制箭头(五)「仿微信」
前言 接着上周写的截图控件继续更新 绘制箭头. 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 4.WPF 截图控件之绘制方 ...
- 【232】◀▶ IDL显示地理图像
参考: 01 IMAGE 将图像数据以图形窗体的形式显示. 02 COLORBAR 在已经存在的IDL图形中增加一个colorbar或创建. 03 MAPGRID 在已经存在的IDL地图图 ...
- C++实现双缓冲
首先声明下,这篇资料也是整理别人的资料的基础上,总结来的. 在图形图像处理过程中,双缓冲技术是一种比较常见的技术.窗体在响应WM_PAINT消息时,需要对图像进行绘制处理.如果图像绘制次数过多,重绘过 ...
- [转]结合轮廓显示,实现完整的框选目标(附Demo代码)
原地址:http://www.cnblogs.com/88999660/articles/2887078.html 几次看见有人问框选物体的做法,之前斑竹也介绍过,用画的框生成的视椎,用经典图形学的视 ...
- unity3d结合轮廓显示,实现完整的框选目标(附Demo代码)
原地址:http://dong2008hong.blog.163.com/blog/static/469688272013111554511948/ 在unity里实现,其实很简单,因为有两个前提:1 ...
- Linux学习笔记13——使用curses函数库
一 安装curses库 如果你的Linux系统中curses库,直接敲入命令sudo apt-get install libncurses5-dev,然后就会自动安装curses库,安装好之后敲入命令 ...
随机推荐
- 用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口
上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析.其实那天我在写的时候也有做过模拟,只是后来没有保存.今天重新模拟一次,并附上详细配置命令,希望能够帮助到大 ...
- mysql性能优化-慢查询分析、优化索引和配置 (慢查询日志,explain,profile)
mysql性能优化-慢查询分析.优化索引和配置 (慢查询日志,explain,profile) 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 ...
- 封装CoreGraphics的API简化绘图操作
封装CoreGraphics的API简化绘图操作 效果 说明 1. 将CoreGraphics的API接口抽象为对象,让绘图变得简单易懂 2. 简化常用的绘制操作 3. 源码长期更新 源码 https ...
- 使用Vundle管理Vim插件
附:仓库地址 附:我自用的vim配置文件,里面注释很多,仅供参考. Vundle是一款Vim的插件管理软件(Linux),用起来很方便的原因有几点: 支持插件超多,可以来源于github.Vundle ...
- zabbix日常监控项web(八)
存在一种情况:nginx或者httpd服务本身运行正常,但是网页挂了,类似于网页被黑,或者40X之类的...:可以用zabbix把web页面访问也监控起来,第一时间得知web崩溃信息并做相应处理. 被 ...
- python3: 字符串和文本(2)
6. 字符串忽略大小写的搜索替换 >>> text = 'UPPER PYTHON, lower python, Mixed Python' >>> re.find ...
- 1.4 Installation and Setup(安装和设置)
1.4 Installation and Setup(安装和设置) 这里我们用Anaconda发行版作为Python的使用环境,推荐安装Python3.6,本书就是用Python3.6代码写成的.(译 ...
- FFI (语言交互接口(Foreign Function Interface))
FFI(Foreign Function Interface)是用来与其它语言交互的接口, 在有些语言里面称为语言绑定(language bindings), Java 里面一般称为 JNI(Java ...
- 「GXOI / GZOI2019」与或和
题目 广西和贵州的省选?好像很神仙的样子啊 之后发现这是一道水题 我们显然应该拆位考虑 显然我们应该对于每一位都拆一下看看这一位是\(0/1\) 显然我们如果找到一个全是\(1\)的矩阵,那么这一位的 ...
- Spring Boot中使用EhCache实现缓存支持
SpringBoot提供数据缓存功能的支持,提供了一系列的自动化配置,使我们可以非常方便的使用缓存.,相信非常多人已经用过cache了.因为数据库的IO瓶颈.一般情况下我们都会引入非常多的缓存策略, ...