Use mouse in console, a little Paint

Use mouse in console, a little Paint

ReadConsoleInput

See version :

Pas de dépendances

Download :

#include <windows.h>
#include <stdio.h>

void Color(int flags)
{
    HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(H,(WORD)flags);
}

void Locate(int x,int y)
{
    HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD C;
    C.X=(SHORT)x;
    C.Y=(SHORT)y;
    SetConsoleCursorPosition(H,C);
}

int main ()
{
    HANDLE H; 
    DWORD fdwMode;
    DWORD i,nb;
    int continuer = 1;
    int couleur = 1;
    INPUT_RECORD record[200];
    H = GetStdHandle(STD_INPUT_HANDLE); 
    fdwMode = ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT; 
    SetConsoleMode(H, fdwMode);
    do
    {
        ReadConsoleInput(H,record,200,&nb);
        for(i=0;i<nb;i++)
        {
            if (record[i].EventType == MOUSE_EVENT)
            {
                switch (record[i].Event.MouseEvent.dwButtonState)
                {
                case FROM_LEFT_1ST_BUTTON_PRESSED:
                    Locate(record[i].Event.MouseEvent.dwMousePosition.X,record[i].Event.MouseEvent.dwMousePosition.Y);
                    Color(0x10*couleur);
                    printf(" ");
                    break;
                case RIGHTMOST_BUTTON_PRESSED:
                    couleur++;
                    if (couleur==16)
                        couleur = 0;
                    break;
                case FROM_LEFT_2ND_BUTTON_PRESSED:
                    continuer = 0;
                    break;
                default:
                    break;
                }
            }
        }
    } while(continuer);
    return 0;
}



Explanations

	No explanations yet.