控制台绘制登陆框(二):TAB切换

这篇博客探讨了如何在控制台应用中通过键盘事件响应实现TAB切换功能,特别是当焦点移到LOGIN按钮上时,按钮颜色动态变化的细节展示。
摘要由CSDN通过智能技术生成

如何在控制台响应键盘事件,实现TAB切换功能?

一:效果展示:当切换到LOGIN按钮时,按钮颜色从绿变蓝,当离开LOGIN按钮时,按钮颜色恢复成绿色。





二代码

#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
#define KEY_TAB 9
#define BACKGROUND_BlACK 0
#define BACKGROUND_WHITE 255
using namespace std;
typedef struct myinput{
int height;
int width;
int bgColor;
int fgColor;
int startPosY;
int startPosX;
}MYINPUT;


typedef struct mybutton{
int height;
int width;
int bgColor;
int fgColor;
int startPosY;
int startPosX;
string str;
}MYBUTTON;
/**
function: 将字符输出到缓冲区
@param
ch:        要输入的字符
posLine :   字符所在行的位置
posColumn:  字符所在列的位置
charInfoAarray:缓冲区数组的内容
**/
void WriteCharToBuffer(CHAR_INFO ch, int posLine, int posColumn, CHAR_INFO * charInfoAarray)
{
charInfoAarray[posLine * 80 + posColumn] = ch;
}
/***
function:将缓冲区的字符输出到控制台
@param
startPosRow:显示区域起始点的行号
startPosColumn:显示区域起始点的列号
height:显示区域高
width:显示区域宽
charInfoAarray:缓冲区数组的内容
***/
void OutPutToConsole(int startPosRow, int startPosColumn, int height, int width, CHAR_INFO * charInfoAarray)
{
HANDLE hConsoleOutp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值