Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jupemen en 16 Mayo 2012, 05:12 am



Título: Calculadora con eventos de mause en c++
Publicado por: jupemen en 16 Mayo 2012, 05:12 am
Me encargaron una calculadora  y quiero hacer con eventos de mause para que cuando le de doble clic en cada numero y signo me haga la operacion, hasta ahora llevo este codigo. Alguien que me pueda ayudar??

Utilizo Visual Studio C++ 2010

void main()
{
   //eventos de mouse
   //iniciador();
   
   HANDLE hIn;
    HANDLE hOut;
    COORD MouseWhere  = {11, 4};
    COORD DClickWhere = {30, 20}; 
   
    bool Continuar = TRUE;
    DWORD EventCount;
    int LoopCount = 0;
    int KeyEvents = 0;
    INPUT_RECORD InRec;
    DWORD NumRead;

    hIn = GetStdHandle(STD_INPUT_HANDLE);
    hOut = GetStdHandle(STD_OUTPUT_HANDLE);

   int op=0;
   
      printf("\n\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
      printf("\n\tº                 º");
      printf("\n\tÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹");
      printf("\n\tº [1] [2] [3]
  • º");
      printf("\n\tº [4] [5] [6] [-] º");
      printf("\n\tº [7] [8] [9]
  • º");
      printf("\n\tº
  • [C] [ ] [/] º");
          printf("\n\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");

       cout<<endl<<"Seleccione  [Doble-Click ]: "<<endl<<endl;
       
       while(Continuar)
       {
          Sleep(10);
          GetNumberOfConsoleInputEvents(hIn,&EventCount);
            while (EventCount > 0)
            {
               ReadConsoleInput(hIn,&InRec,1,&NumRead);

                if (InRec.EventType == KEY_EVENT)
                {
                    if (InRec.Event.KeyEvent.uChar.AsciiChar == 'x')
                    {
                   cout<<endl<<"Operacion con exito..."<<endl<<"\t";
                   system("PAUSE");
                        Continuar = FALSE;
                    }
                }
                else if (InRec.EventType == MOUSE_EVENT)
                {
                if (InRec.Event.MouseEvent.dwEventFlags == DOUBLE_CLICK)
                    {
                        SetConsoleCursorPosition(hOut, DClickWhere);
                        cout << InRec.Event.MouseEvent.dwMousePosition.X << "," <<
                                InRec.Event.MouseEvent.dwMousePosition.Y << "  " << flush;
                         cout<<"DOUBLE CLICK NIGGA";
                    }             
                 }
                 
              GetNumberOfConsoleInputEvents(hIn,&EventCount);
            }
       }
    }