John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009
-
17 août 2006 à 21:39
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 2010
-
24 août 2006 à 09:05
Salut à tous.
J'ai mis en place un "MainMenu" dont l'une des colonne est un "RadioItem". Quand je selectionne deux fois le même élément dans cette colonne, cet élément se déselectionne alors que normalement il devrait conserver son état (comme tout RadioItem qui se respecte ).
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 18 août 2006 à 10:50
Aide Delphi sur le RadioItem:
Utilisez la
propriété RadioItem pour que l'élément de menu se comporte comme un
bouton radio avec un groupe d'autres éléments.Le groupe d'éléments de
menu est constituéde tous les éléments d'un même menu déroulant ou
surgissant ayant la même valeur pour la propriété GroupIndex.Quand
RadioItem a la valeur true, un seul élément de menu de son groupe
d'éléments peut être coché à la fois.L'élément sélectionné du groupe
est indiqué par un rond apparaissant à côté de son libellé.
Remarque : RadioItem ne sélectionne pas automatiquement l'élément
lorsque l'utilisateur clique dessus àl'exécution :vous devez
explicitement attribuer à la propriétéChecked la valeur true en réponse
àl'événement OnClick.RadioItem change simplement l'apparence de l'état
Checked (en remplaçant la coche par un point rond) et désactive
automatiquement les autres éléments de menu du même groupe lorsque vous
attribuez à la propriétéChecked la valeur true.
Aide Delphi sur l'AutoCheck :
Quand AutoCheck a la valeur true,
chaque clic sur l'élément de menu provoque le basculement automatique
de la propriétéChecked avant l'événement OnClick.Quand AutoCheck a la
valeur false, l'application doit définir explicitement la valeur de la
propriétéChecked (par exemple,dans un gestionnaire d'événement OnClick).
Ce que tu fais :
Tu crées une procedure que tu vas lier à tous tes menuitems qui sont des radioitem.
procedure TForm1.CheckIt(Sender: TObject);
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 18 août 2006 à 00:59
Je viens de me rendre compte que j'ai écrit une betise. Ca ne peux evidemment pas fonctionner...
Apres quelques recherches sur le sujet, je n'ai pas trouvé non plus. Désolé pour les posts inutiles !
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 18 août 2006 à 10:57
@cirec : le comportement des RadioItems des menus est différents des boutons radios habituels. une fois un bouton radio enfoncé, il est IMPOSSIBLE de revenir en arrière, un choix doit être fait parmis les choix possibles, cependant dans les menus, les radioitems qui ont un "autocheck" ont aussi implicitement un "autodécheck" qui fait que meme si un élément a été sélectionné, on a (bizzarement) la possibilité de désélectionner tous les radioitems.
ce que veux john c'est que ses radioitems se comportent comme des radiobuttons : une fois un choix fait, un élément doit obligatoirement être selectionné, la selection vide n'est pas autorisée.
me trompe-je john ?
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 18 août 2006 à 18:14
Tout à fait d'accord avec la manière de procéder de JulioDelphi.
et pour se référer à une question posée il y a trois siècles et demi :
(Sender as TMenuItem).Checked := True;
c'est plus sûr que
TMenuItem(Sender).Checked := True;
sinon, ça revient au même...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 22 août 2006 à 16:06
Salut j!nH
Exact !
J'ai lu récemment quelque chose là-dessus, mais comme je ne peux pas citer mes sources, je viens de faire un petit test afin de vérifier.
Il nous faut :
- 1 Form,
- 1 Button,
- 1 RadioGroup avec 4 choix possibles :
- as correct
- as incorrect
- transtypage correct
- transtypage incorrect
et ce code :
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: ShowMessage((Sender as TButton).ClassName);
1: ShowMessage((Sender as TEdit).ClassName);
2: ShowMessage(TButton(Sender).ClassName);
3: ShowMessage(TEdit(Sender).ClassName);
end;
end;
A l'exécution (hors environnement Delphi, pas de problèmes dans les cas 1 et 3, comme de bien entendu...
Dans le cas n°2, on nous signale un transtypage incorrect.
Dans le cas n°4, ça passe comme une lettre à la poste. Dans ce cas précis, pas de problème, mais éventuellement, bonjour les dégâts...
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 23 août 2006 à 20:00
Je sais bien que tu n'y passe pas ta vie, mais quand on pose une question sur un problème et qu'on dit "je te dis quoi", sachant que tu reçois un mail pour chaque réponse postée, la moindre des choses et de donner des nouvelles et cliquer sur "Reponse acceptée" si elle l'est. Ce n'est pas comme si tu n'étais pas l'auteur du sujet.
Enfin bref, tu viens de répondre mais on sais pas si ça t'a réellement aidé sagoin ^^
Allez donne moi cette réponse que je sache si j'ai bon :D