C. 콘 솔 에서 마우스 그림 그리 기 기능 실현
#include <windows.h>
#include <stdio.h>
#include <string.h>
HANDLE hOut;
HANDLE hIn;
void ClearScreen(void);
void DispMousePos(COORD pos); // 24
int main()
{
hOut = GetStdHandle(STD_OUTPUT_HANDLE); //
hIn = GetStdHandle(STD_INPUT_HANDLE); //
WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE ;
// ,
SetConsoleTextAttribute(hOut, att);
ClearScreen(); //
INPUT_RECORD mouseRec;
DWORD state = 0, res;
COORD pos = {0, 0};
//
while(1)
{
ReadConsoleInput(hIn, &mouseRec, 1, &res);
if (mouseRec.EventType == MOUSE_EVENT)
{
if (mouseRec.Event.MouseEvent.dwEventFlags == DOUBLE_CLICK)
// break; //
ClearScreen();
pos = mouseRec.Event.MouseEvent.dwMousePosition;
//
if (mouseRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED)
FillConsoleOutputCharacter(hOut, 'A', 1, pos, NULL);
}
}
pos.X = pos.Y = 0;
SetConsoleCursorPosition(hOut, pos); //
CloseHandle(hOut); //
CloseHandle(hIn); //
}
void DispMousePos(COORD pos) // 24
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD home = {0, 24};
WORD att0 = BACKGROUND_INTENSITY ;
FillConsoleOutputAttribute(hOut, att0, bInfo.dwSize.X, home, NULL);
FillConsoleOutputCharacter(hOut, ' ', bInfo.dwSize.X, home, NULL);
char s[20];
sprintf(s,"X = %2lu, Y = %2lu",pos.X, pos.Y);
SetConsoleTextAttribute(hOut, att0);
SetConsoleCursorPosition(hOut, home);
WriteConsole(hOut, s, strlen(s), NULL, NULL);
SetConsoleTextAttribute(hOut, bInfo.wAttributes); //
SetConsoleCursorPosition(hOut, bInfo.dwCursorPosition); //
}
void ClearScreen(void)
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD home = {0, 0};
unsigned long size = bInfo.dwSize.X * bInfo.dwSize.Y;
FillConsoleOutputAttribute(hOut, bInfo.wAttributes, size, home, NULL);
FillConsoleOutputCharacter(hOut, ' ', size, home, NULL);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.