Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4678 connectés 

 


Dernière réponse
Sujet : [resolu][builder] evenement onmousexxx && fenetre opengl
farib jfais des topics tt seul  moi
:lol:
va savoir pourquoi, fo utiliser une fonction de l'api plutot
et la ca marche nickel....
 
 
la vie est un éternel mystère....

Code :
  1. void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
  2.       TShiftState Shift, int X, int Y)
  3. {
  4.         ShowCursor(false);
  5. }
  6. //---------------------------------------------------------------------------
  7. void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
  8.       TShiftState Shift, int X, int Y)
  9. {
  10.         ShowCursor(true);
  11. }
  12. //---------------------------------------------------------------------------


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
farib jfais des topics tt seul  moi
:lol:
va savoir pourquoi, fo utiliser une fonction de l'api plutot
et la ca marche nickel....
 
 
la vie est un éternel mystère....

Code :
  1. void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
  2.       TShiftState Shift, int X, int Y)
  3. {
  4.         ShowCursor(false);
  5. }
  6. //---------------------------------------------------------------------------
  7. void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
  8.       TShiftState Shift, int X, int Y)
  9. {
  10.         ShowCursor(true);
  11. }
  12. //---------------------------------------------------------------------------

farib j'ai identifié le pb
 

Code :
  1. void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
  2.       TShiftState Shift, int X, int Y)
  3. {
  4. Cursor = crNone ;
  5. }
  6. //---------------------------------------------------------------------------
  7. void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
  8.       TShiftState Shift, int X, int Y)
  9. {
  10. Cursor = crDefault;
  11. }
  12. //---------------------------------------------------------------------------


 
en fait, le curseur n'est pas remis à jour avant que le bouton ne remonte... ce qui fait que  mon curseur est toujours a l'écran et ne disparait jamais
 
 
le code suivant marche, masi en fonctionnant légèrement différemment
 

Code :
  1. void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
  2.       TShiftState Shift, int X, int Y)
  3. {
  4. Cursor = Cursor == crNone ? crDefault: crNone;
  5. }
  6. //---------------------------------------------------------------------------
  7. void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
  8.       TShiftState Shift, int X, int Y)
  9. {
  10. //Cursor = crDefault;
  11. }
  12. //---------------------------------------------------------------------------


 
comment forcer un redraw ?

farib c t pour plaisanter....
 
 
mon code n'intercepte pas le mouvement de la souris, point final
 
 
http://perso.wanadoo.fr/pentium75/tetris
 
 
il capte bien les touches, masi l'opengl a l'air de foutre  une confusion dans la gestion fenetres souris....
antp heu quand tu fous 1/0 comme ca dans le code ça ne plante jamais hein :p
T'as juste un warning à la compilation
farib en fait c'est le OnMouseQQChose qui semble ne pas marcher, comme si l'opengl empechait le fenetre de savoir que c'est bien elle qui a le controle de la souris
 
et lorque je click, le programme ne plante pas  :D
 

Code :
  1. void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
  2.       TShiftState Shift, int X, int Y)
  3. {
  4.   1/0;     
  5. }
  6. //---------------------------------------------------------------------------

antp tu devrais pas plutôt faire ça dans OnMouseMove, en vérifiant que le bouton est enfoncé ?  
if(Shift.Contains(mbLeft))...  ou un truc du genre
farib voila, pour mon mini jeu, ma souris sert a faire bouger la caméra lorsqu'on la bouge avec clic gauche enfoncée...
 
 
 
pour faire cela, j'ai donc fait un évenement onmousedown, lorsque la souris est clickée sur la fenetre opengl, mais c'est inhibé et n'a aucun effet....
 
des idées ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)