Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

winapi_rabota_s_konsolju

Пример. WinAPI Консоль Windows

Размер экрана высота 23 ширина 80 - не больше.

#include <iostream>
#include <Windows.h>
#include <conio.h>

using namespace std;
int main()
{
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);//получили адресс консоли Windows

COORD c;

c.X=4;
c.Y=4;
SetConsoleTextAttribute(h,FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE);
SetConsoleCursorPosition(h,c);
cout<<"   \n";

c.X=8;
c.Y=4;
SetConsoleTextAttribute(h,FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_RED);
SetConsoleCursorPosition(h,c);
cout<<"   \n";

c.X=12;
c.Y=4;
SetConsoleTextAttribute(h,FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE);
SetConsoleCursorPosition(h,c);
cout<<"   \n";
//установка цвета. через побитовые операции.
//В консоли только 8 цветов - больше нельзя для RGB (8 bit). 
//На самом деле 16 цветов из-за дполнительного байта интенсивности
// интенсивносить| R | G| B - все 1 это белый, все 0 это черный (нет цвета)

//перехват клавиш курсора (они пересылают две цифры, первая 224)
int x=getch();
cout<<x<<"\n";
if (x==224) x=getch();
cout<<x<<"\n";
if (x==77) cout<<"Left\n";
//cout<<x<<"\n";
int x1=0;
while (x1!=13){
	x1=getch();
	//cout<<x1<<"\n";
	c.X=c.X-1;
	c.Y=4;
	SetConsoleCursorPosition(h,c);
}
}

winapi_rabota_s_konsolju.txt · Последние изменения: 2011/03/20 18:17 (внешнее изменение)