Professional Documents
Culture Documents
h>
#include <stdio.h>
VOID KeyEventProc(KEY_EVENT_RECORD);
VOID MouseEventProc(MOUSE_EVENT_RECORD);
VOID ResizeEventProc(WINDOW_BUFFER_SIZE_RECORD);
HANDLE Hsaida;
int main(VOID)
{
DWORD cNumRead, i;
INPUT_RECORD irInBuf[128];
HANDLE Hentrada;
// Get the standard input handle.
Hentrada = GetStdHandle(STD_INPUT_HANDLE);
Hsaida = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleMode(Hentrada, ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT );
SetConsoleTitle("Console de Teste");
// Loop to read and handle the input events.
while (1)
{
// Wait for the events.
ReadConsoleInput(
Hentrada, // input buffer handle
irInBuf, // buffer to read into
128, // size of read buffer
&cNumRead); // number of records read
switch(mer.dwEventFlags)
{
case 0:
pos.Y=3;
SetConsoleCursorPosition(Hsaida,pos);
printf("button press: %d ",mer.dwButtonState);
break;
case DOUBLE_CLICK:
pos.Y=3;
SetConsoleCursorPosition(Hsaida,pos);
printf("double click ");
break;
case MOUSE_MOVED:
pos.Y=1;
SetConsoleCursorPosition(Hsaida,pos);
printf("Posicao mouse (%2d, %2d)",mer.dwMousePosition.X, mer.dwMouse
Position.Y);
break;
case MOUSE_WHEELED:
pos.Y=3;
SetConsoleCursorPosition(Hsaida,pos);
printf("vertical mouse wheel: %d",mer.dwButtonState);
break;
default:
pos.Y=3;
SetConsoleCursorPosition(Hsaida,pos);
printf("nada ");
break;
}
}
VOID ResizeEventProc(WINDOW_BUFFER_SIZE_RECORD wbsr)
{
COORD pos;
pos.X=1;
pos.Y=7;
SetConsoleCursorPosition(Hsaida,pos);
printf("\n\nResize event\n\n");
}