Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Handle h = getstdhandle(std_output_handle);//дискриптор вывода на экран



#include<windows.h>

#include<iostream>

using namespace std;

void main(){

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);//ДИСКРИПТОР ВЫВОДА НА ЭКРАН

HANDLE h_in=GetStdHandle(STD_INPUT_HANDLE);//ДИСКРИПТОР ВВОДА (для мыши)

COORD c;//кординаты курсора

SetConsoleMode(h_in,ENABLE_MOUSE_INPUT);//Включает мышку, принимает 2 параметра, дискриптор ввода и и флажок ENABLE_MOUSE_INPUT

INPUT_RECORD all_events[256];//массив событий

DWORD real_event;//реально произошедшие события

//Массив типа INPUT_RECORD хранилище для произошедших событий- уведомлений от кл или мышки

//необходимо создать переменную DWORD в которую запишеться количество реально произошедших событий за 1 милисекунду

while(1)

{//для постоянной работы мыши

//необходимо запустить вечный цик в котором будет постояно происходить считывание сабытый

ReadConsoleInput(h_in,all_events,256,&real_event);

for(int i=0;i<real_event;i++)//просмотр всех произошедших событий

{c.X=all_events[i].Event.MouseEvent.dwMousePosition.X;

c.Y=all_events[i].Event.MouseEvent.dwMousePosition.Y;

COORD temp ={0,0};COORD temp1 ={0,2};

SetConsoleCursorPosition(h,temp);cout<<"\t\t\t\t\t\t\t\t";

SetConsoleCursorPosition(h,temp);

cout<<c.X<<"\t"<<c.Y<<"\n\n";

 

if (c.X<30&&all_events[i].Event.MouseEvent.dwEventFlags==DOUBLE_CLICK)

{SetConsoleCursorPosition(h,temp1);cout<<"\t\t\t\t\t\t\t\n";SetConsoleCursorPosition(h,temp1);cout<<"DOUBLE_CLICK\n";}

else if (c.X>40&&all_events[i].Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED)

{SetConsoleCursorPosition(h,temp1);cout<<"\t\t\t\t\t\t\t\n";SetConsoleCursorPosition(h,temp1);cout<<"LKM\n";}

 

 

//dwButtonState поле отвечающие за нажатою кнопку FROM_LEFT_1ST_BUTTON_PRESSED - левая кнопка RIGHT_MOST_BUTTON_PRESSED- ПРАВАЯ

//dwButtonState за место него.dwEventFlags =DOUBLE_CLICK ДВОЙНОЙ ШЕЛЧек

 

}}}

 

#include<windows.h>

#include<iostream>

using namespace std;

void main(){

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);//ДИСКРИПТОР ВЫВОДА НА ЭКРАН

HANDLE h_in=GetStdHandle(STD_INPUT_HANDLE);//ДИСКРИПТОР ВВОДА (для мыши)

COORD c;//кординаты курсора

SetConsoleMode(h_in,ENABLE_MOUSE_INPUT);//Включает мышку, принимает 2 параметра, дискриптор ввода и и флажок ENABLE_MOUSE_INPUT

INPUT_RECORD all_events[256];//массив событий

DWORD real_event;//реально произошедшие события

//Массив типа INPUT_RECORD хранилище для произошедших событий- уведомлений от кл или мышки

//необходимо создать переменную DWORD в которую запишеться количество реально произошедших событий за 1 милисекунду

while(1)

{//для постоянной работы мыши

//необходимо запустить вечный цик в котором будет постояно происходить считывание сабытый

ReadConsoleInput(h_in,all_events,256,&real_event);

for(int i=0;i<real_event;i++)//просмотр всех произошедших событий

{c.X=all_events[i].Event.MouseEvent.dwMousePosition.X;

c.Y=all_events[i].Event.MouseEvent.dwMousePosition.Y;

COORD temp ={0,0};

/*SetConsoleCursorPosition(h,temp);cout<<"\t\t\t";

SetConsoleCursorPosition(h,temp);



*///cout<<c.X<<"\t"<<c.Y<<"\n\n";

 

 

//if (c.X<7540&&all_events[i].Event.MouseEvent.dwEventFlags==DOUBLE_CLICK){cout<<"DOUBLE_CLICK\n";}

if (c.X<75&&all_events[i].Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED){SetConsoleTextAttribute(h,1);SetConsoleCursorPosition(h,c); cout<<"@";}

else if (c.X<75&&all_events[i].Event.MouseEvent.dwButtonState==RIGHTMOST_BUTTON_PRESSED){SetConsoleTextAttribute(h,12);SetConsoleCursorPosition(h,c);cout<<"#";}

 

 

// dwButtonState поле отвечающие за нажатою кнопку FROM_LEFT_1ST_BUTTON_PRESSED - левая кнопка RIGHT_MOST_BUTTON_PRESSED- ПРАВАЯ

//dwButtonState за место него.dwEventFlags =DOUBLE_CLICK ДВОЙНОЙ ШЕЛЧек

 

}}}

 

 

 

Пример работы 1 куска кода 2 кусок кода..
Вроде все что надо в коментах если что звякни в скайп


Дата добавления: 2015-10-21; просмотров: 95 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
 | 

mybiblioteka.su - 2015-2024 год. (0.007 сек.)