Newsgroup: it.comp.lang.c++
Titolo: MOUSE!MOUSE!MOUSE!MOUSE!MOUSE!MOUSE!

Come si fa a usare il mouse in C++?
Vi prego: non parlatemi di Assembler!!!! ;-)
GRAZIE ancora!

 Come si fa a usare il mouse in C++?
Dipende rigorosamente soltanto dalla piattaforma a
cui sei interessato, non dal linguaggio C++.  Se vuoi
farlo su Amiga chiedi in it.comp.amiga, se in Windows
a 32 bit in it.comp.programmare.win32, se su As/400
su it.comp.as400, e cosi` via.
Se porrai la domanda sul gruppo giusto (a seconda
della piattaforma di tuo interesse) ed e` uno di quelli
che seguo (cioe` una delle piattaforme di cui mi
occupo) rispondero` piu` che volentieri.
Non e` "inutile pignolaggine", nota bene: la risposta
differisce drasticamente da piattaforma a piattaforma
e non ha nulla a che vedere col linguaggio C++.  Quindi
non avrebbe senso cercare di parlarne qui.
Alex

GRAZIE ancora!
Se sei in possesso di una vecchia versione di C++ per DOS credo di
avere il file header che fa per te:
Il Ghenio

Il Ghenio ha scritto nel messaggio ...

Sul serio!!!! Di che si tratta? Il mio è il c++ della Borland per DOS!
Mi spiegheresti come usare il tuo file? Potresti mandarmelo?
Te ne sono IMMENSAMENTISSIMAMENTE grato!!!   :))
                                        ROCK'N ROLL

Te ne sono IMMENSAMENTISSIMAMENTE grato!!!   :))
L'ho già spedito.Controlla in questo thread e vedrai un messaggio con
allegato il file 'mouse.h'.Tutto ciò che devi fare é copiarti questo
file nella cartella dei file include del tuo compilatore, includerlo
nel tuo programma ed utilizzare le funzioni che ti vengono messe a
disposizione.Te ne cito qualcuna:
-----
mouse_reset( )= resetta lo stato del mouse.
mouse_cursor_enable( )= abilita il cursore del mouse.
mouse_cursor_disable( )= disabilita il cursore del mouse.
mouse_get_x( )= restituisce la posizione X del mouse.
mouse_get_y( )= restituisce la posizione Y del mouse.
mouse_left_button_pressed( )= controlla se il tasto sinistro del mouse
é stato premuto.
mouse_right_button_pressed( )= controlla se il tasto destro del mouse
é stato premuto. 
mouse_change_color(unsigned)= modifica l'icona del cursore del mouse.
------
Il Ghenio

 wrote in message
6BRJOFGX9p0DZ3...@4ax.com...


(la cosa interesserebbe anche a me...)
Ok.Riposto per intero il listato del file include 'mouse.h'.
----
#ifndef MouseH
#define MouseH
/********************************************************************
* mouse.c - gestione del mouse tramite C(ed anche C++)             *
* ---------------------------------------------------------------- *
* (C)1999 by Andrea Laforgia                                       *
*                                                                  *
* NOTE : e' espressamente studiato per sistemi DOS/Windows9x ed e' *
* compilato con DJGPP.                                             *
*                                                                  *
* La funzione mouse_change_color() e' stata aggiunta in un secondo *
* momento, dato che, per alcune persone, il cursore di default del *
* mouse e' nero e quindi indistinguibile, in certi contesti, dallo *
* sfondo del video.                                                *
********************************************************************/
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <process.h>
/* elenco delle dichiarazioni delle funzioni usate */
int int86 (int ivec, union REGS *in, union REGS *out);
unsigned mouse_reset                ( void ) ;
    void mouse_cursor_enable        ( void ) ;
    void mouse_cursor_disable       ( void ) ;
unsigned mouse_get_x                ( void ) ;
unsigned mouse_get_y                ( void ) ;
unsigned mouse_left_button_pressed  ( void ) ;
unsigned mouse_right_button_pressed ( void ) ;
    void mouse_change_color         ( unsigned ) ;
/***************************************************/
/* costanti cursor mask */
const unsigned black   = 0x0000 ;
const unsigned blue    = 0x1000 ;
const unsigned green   = 0x2000 ;
const unsigned cyan    = 0x3000 ;
const unsigned red     = 0x4000 ;
const unsigned magenta = 0x5000 ;
const unsigned yellow  = 0x6000 ;
const unsigned white   = 0x7000 ;
unsigned mouse_reset ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 0 ;
  int86 ( 0x33, &r_in, &r_out ) ;
  return ( 
r_out.x.ax
 == 0xffff ) ;
}
void mouse_change_color ( unsigned cursor_mask )
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 0x000a ;
  r_in.x.bx = 0 ;
 
r_in.x.cx
 = 0x8fff ;
  r_in.x.dx = cursor_mask ;
  int86 ( 0x33, &r_in, &r_out ) ;
}
void mouse_cursor_enable ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 1 ;
  int86 ( 0x33, &r_in, &r_out ) ;
}
void mouse_cursor_disable ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 2 ;
  int86 ( 0x33, &r_in, &r_out ) ;
}
unsigned mouse_get_x ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 3 ;
  int86 ( 0x33, &r_in, &r_out ) ;
  return ( ( 
r_out.x.cx
 & 0x0FFF) >> 3);
}
unsigned mouse_get_y ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 3 ;
  int86 ( 0x33, &r_in, &r_out ) ;
  return ( ( r_out.x.dx & 0x00FF ) >> 3 );
}
unsigned mouse_left_button_pressed ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 3 ;
  int86 ( 0x33, &r_in, &r_out ) ;
  return ( r_out.x.bx & 1 );
}
unsigned mouse_right_button_pressed ()
{
  union REGS r_in, r_out ;
 
r_in.x.ax
 = 3 ;
  int86 ( 0x33, &r_in, &r_out ) ;
  return ( (r_out.x.bx & 2 ) >> 1 );
}
#endif
-----
Il Ghenio