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

  FORUM HardWare.fr
  Programmation

  [resolu][builder] evenement onmousexxx && fenetre opengl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu][builder] evenement onmousexxx && fenetre opengl

n°202337
farib
Posté le 26-08-2002 à 19:05:20  profilanswer
 

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 ?


Message édité par farib le 26-08-2002 à 23:59:03
mood
Publicité
Posté le 26-08-2002 à 19:05:20  profilanswer
 

n°202370
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-08-2002 à 20:24:31  profilanswer
 

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°202372
farib
Posté le 26-08-2002 à 20:27:54  profilanswer
 

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. //---------------------------------------------------------------------------

n°202397
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-08-2002 à 20:57:19  profilanswer
 

heu quand tu fous 1/0 comme ca dans le code ça ne plante jamais hein :p
T'as juste un warning à la compilation


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°202450
farib
Posté le 26-08-2002 à 22:58:29  profilanswer
 

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....


Message édité par farib le 26-08-2002 à 23:03:05
n°202461
farib
Posté le 26-08-2002 à 23:46:14  profilanswer
 

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 ?


Message édité par farib le 26-08-2002 à 23:47:33
n°202472
farib
Posté le 26-08-2002 à 23:58:49  profilanswer
 

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. //---------------------------------------------------------------------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [resolu][builder] evenement onmousexxx && fenetre opengl

 

Sujets relatifs
[PHP] besoin d'aide pour faire tout en un seul fichier... [RESOLU][opengl&& c++builder] initialisation de la fenetre
[OpenGL]qq questions[zindozs] en bas niveau, afficher des pixels dans une fenetre
[JS] trouve pas de titre, problmes de syntax?[resolu]Redimensionnement d'une fenêtre
Ancrage de la fenêtreJscrollPane contenant un JTextArea et défilement automatique [Resolu]
[HTML,JS] Ma fenêtre principale sans barres d'adresses, de menus ?[C/C++] Supprimer un répertoire (ou le vider) [Resolu]
Plus de sujets relatifs à : [resolu][builder] evenement onmousexxx && fenetre opengl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR