Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <windows.h>
- #include <iomanip>
- #include <VersionHelpers.h>
- using namespace std;
- static void SetCursorPosition(int x, int y)
- {
- COORD coord;
- coord.X = x;
- coord.Y = y;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- }
- enum ConsoleColor
- {
- Black = 0,
- Blue = 1,
- Green = 2,
- Cyan = 3,
- Red = 4,
- Magenta = 5,
- Brown = 6,
- LightGray = 7,
- DarkGray = 8,
- LightBlue = 9,
- LightGreen = 10,
- LightCyan = 11,
- LightRed = 12,
- LightMagenta = 13,
- Yellow = 14,
- White = 15
- };
- static void SetColor(int text, int background) // устанавливает цвет текста и фона в консоли
- {
- HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
- }
- static void SetColor(int text, ConsoleColor/*int*/ background) // устанавливает цвет текста и фона в консоли
- {
- HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
- }
- HWND GetConsoleHwnd()
- {
- #define MY_BUFSIZE 1024
- HWND hwndFound;
- char pszNewWindowTitle[MY_BUFSIZE];
- char pszOldWindowTitle[MY_BUFSIZE];
- GetConsoleTitle((LPWSTR)pszOldWindowTitle, MY_BUFSIZE);
- SetConsoleTitle((LPWSTR)pszNewWindowTitle);
- Sleep(1);
- hwndFound = FindWindow(NULL, (LPWSTR)pszNewWindowTitle);
- SetConsoleTitle((LPWSTR)pszOldWindowTitle);
- return(hwndFound);
- }
- static void MoveCursor()
- {
- SetColor(15, 1);
- int xPos, yPos;
- RECT r;
- POINT p;
- HWND wh = GetConsoleHwnd();
- COORD c = { 1,1 };
- while (true)
- {
- //GetWindowRect(wh, &r);
- //GetCursorPos(&p);
- //if (IsWindows8OrGreater()) yPos = (p.y - r.top - 30) / 16; //Координаты Y для вин8-10
- //else yPos = (p.y - r.top - 30) / 12; //Координаты Y для вин7
- //xPos = (p.x - r.left - 9) / 8; //Координаты X для вин7 и вин10
- //SetCursorPosition(xPos, yPos);
- //if (GetAsyncKeyState(VK_LBUTTON)) cout << ' ';
- //if (GetAsyncKeyState(0x51)) SetColor(15, 0);
- //if (GetAsyncKeyState(0x57)) SetColor(15, 1);
- //if (GetAsyncKeyState(0x45)) SetColor(15, 2);
- //if (GetAsyncKeyState(0x52)) SetColor(15, 3);
- //if (GetAsyncKeyState(0x54)) SetColor(15, 4);
- //if (GetAsyncKeyState(0x59)) SetColor(15, 5);
- //if (GetAsyncKeyState(0x55)) SetColor(15, 6);
- //if (GetAsyncKeyState(0x49)) SetColor(15, 7);
- //if (GetAsyncKeyState(0x41)) SetColor(15, 8);
- //if (GetAsyncKeyState(0x53)) SetColor(15, 9);
- //if (GetAsyncKeyState(0x44)) SetColor(15, 10);
- //if (GetAsyncKeyState(0x46)) SetColor(15, 11);
- //if (GetAsyncKeyState(0x47)) SetColor(15, 12);
- //if (GetAsyncKeyState(0x48)) SetColor(15, 13);
- //if (GetAsyncKeyState(0x4A)) SetColor(15, 14);
- //if (GetAsyncKeyState(0x4B)) SetColor(15, 15);
- //if (GetAsyncKeyState(0x5A)) system("cls");
- for (int i = 0; i < 16; i++)
- {
- SetColor(15, i);
- system("cls");
- }
- }
- }
- void main()
- {
- setlocale(LC_ALL, "Russian");
- system("mode con cols=160 lines=60");
- system("title Рисовалка");
- while (true) MoveCursor();
- }
Advertisement
Add Comment
Please, Sign In to add comment