Bonjours tout le monde, je ne trouve pas dans la liste event de ma grille l’événement clic droit.
Il y a bien onclic, double clic, mais je ne trouve pas clic droit est ce que quelqu’un saurait comment gérer ce ci ....
Merci d’avance a tous....
Bonjours tout le monde, je ne trouve pas dans la liste event de ma grille l’événement clic droit.
Il y a bien onclic, double clic, mais je ne trouve pas clic droit est ce que quelqu’un saurait comment gérer ce ci ....
Merci d’avance a tous....
Salut,
Ben, pour savoir si l'utilisateur de ton application a bien fais une Clique droit sur un composant (pas tous) il suffit de tester dans l'évenement OnMouseUp le paramètre Button si'il est égale à mbRight.
Donc MouseUp / TMouseButton +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void __fastcall TFm_Update_Depart::GridMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Button == mbRight) { ShowMessage("TMouseButton") ; } }
oki merci kmaniche
J'esseye ça des ce soir...
salut,tu peux essayer ça aussi:
bonne chance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void __fastcall TForm1::NomGrilleMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (Shift.Contains(ssRight)) { ShowMessage("TMouseButton"); } }
Salut
J'ai inséré ça :
et ça marche pas, il ne se passe rien quand je clic droit sur une case de ma grille....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void __fastcall TForm1::NomGrilleMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (Shift.Contains(ssRight)) { DrawGrid1->Canvas->Brush->Color = clRed; } }
J'ai également test avec la primière void propsé, il ne se passe rien non plus
J'ai assigne a l'event OnMouseUp la void GridMouseUp et rien ne ce passe
Bonjour les Amis,
J'ai essayé cette commande sur deux cas possibles:
1° Sur le Tform, j'ai réalisé un clic avec demande d'affichage si la commande est bien pris en compte
EVENEMENT OnMouseUp
-> Cela fonctionne correctement
2° Sur le Tform, j'ai mis TEdit. Sur l'évenement OnMouseUp, j'ai applique le code de kmaniche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { ShowMessage("Clic Droit ACTIVE"); }
Le résulat est le suivant : une fenêtre s'ouvre dans laquelle se trouve tous les commande pour faire un collé , un coupé etc...
Et le Message TMouseButton s'affiche
En conclusion , tout fonctionne Bon Courage à tous....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void __fastcall TForm1::Edit1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Button == mbRight) { ShowMessage("TMouseButton") ; } }
Salut
Donc c'est presque bon j'ai fait ce que vous avez dit, j'arrive à afficher un message quand je fait un clic droit par contre ce que je voudrai c'est changer la couleur d'une seule case de ma Draw grille.
Le message s'affiche parfaitement mais par contre le changement de couleur sur la case voulu, lui ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void __fastcall TForm1::GridMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { int X=DrawGrid1->Col; int Y=DrawGrid1->Row; if(Button == mbRight) { ShowMessage("Affiche un message") ; DrawGrid1->Canvas->Brush->Color = clRed; } }
Je ne suis pas sûr, mais j'ai l'impression que tu devrais plutôt intercepter le OnPaint (ou OnCustomPaint, je ne sais pas de quelle grille tu parles) pour changer la couleur de la Brush. Le OnMouseDown ne dessine pas la case... Il ne fait qu'intercepter le clic.
Ca complique un peu la chose puisque tu dois intercepter le OnMouseUp pour retrouver quelle case a été sélectionnée et sauver cette info qqpart. Ensuite, dans OnPaint, tu vérifies quelle case est en train d'être dessinée et tu adaptes la couleur si c'est celle qui avait été cliquée.
Quel est le composant exact que tu utilises?
nurbo_2056 je te propose d'ouvrir une deuxième discussion concernant ton deuxième problème (changer la couleur d'une case de la grille).
De garder un seul problème par thread permet ensuite de rendre la recherche plus efficace.
Tu peux donc marquer ce sujet résolu et une fois que tu auras copié ta deuxième question dans un nouveau thread, je la supprimerais d'ici.
Merci d'avance !
Partager