Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Petit bug tout bête [ Divers / Débutant(e) ] (John Dogget)

jeudi 17 août 2006 à 21:39:35 | Petit bug tout bête

John Dogget

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

Vous auriez une solution ?



vendredi 18 août 2006 à 00:48:09 | Re : Petit bug tout bête

CptPingu

Rien ne t'empeche de le forcer.
Essaie ceci (je le fait de tête juste pour le principe):

procedure TForm1.RadioItem1Click(Sender: TObject);
begin
  if RadioItem1.Cheked then
    RadioItem1.Checked := true;
end;

vendredi 18 août 2006 à 00:59:42 | Re : Petit bug tout bête

CptPingu

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 !

vendredi 18 août 2006 à 07:04:53 | Re : Petit bug tout bête

John Dogget

Ben ça peut marcher, mais il faudra écrire ...

procedure TForm1.RadioItem1Click(Sender: TObject);
begin
  if not RadioItem1.Cheked then
    RadioItem1.Checked := true;
end;

Mais ça parait bizarre comme bug, me demande si c'est pas simplement une propriété qui n'as pas été initialisé comme il faut

vendredi 18 août 2006 à 10:48:50 | Re : Petit bug tout bête

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

 c'est le fonctionnement normal de tous RadioItem

  1° selection --> Checked = True   //à condition que Checked est à False (je vous ai vu venir)
  2° selection --> Checked = False

Sinon le fonctionnement serait impossible ... imagine qu'il ne fasse qu'une fois sur deux le changement

ce que tu demandes n'existe pas

@+
Cirec

vendredi 18 août 2006 à 10:50:46 | Re : Petit bug tout bête

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
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);
begin
 (Sender as TMenuItem).Checked := true;
end;

Voila un zip de demo avec screens au cas ou : [ Lien ]
(463k, dpr+pas+dfm+exe)




vendredi 18 août 2006 à 10:57:50 | Re : Petit bug tout bête

JulioDelphi

Membre Club Administrateur CodeS-SourceS
@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 ?




vendredi 18 août 2006 à 12:18:03 | Re : Petit bug tout bête

cirec

Membre Club Administrateur CodeS-SourceS
@ JulioDelphi :

superbe la démo et très pédagogique avec les ScreenShoot, c'est une bonne idée de présentation pour un tuto par exemple...

Et merci pour la précision je ne savais même pas que le comportement des RadioItems des menus étaient différents (jamais utilisé)


@+
Cirec

vendredi 18 août 2006 à 14:20:19 | Re : Petit bug tout bête

Matt 261

Membre Club
Le grand retour de JulioDelphi...

@+
 Matt


La paresse est la mère du génie...
http://www.delphilab.com

vendredi 18 août 2006 à 16:26:43 | Re : Petit bug tout bête

John Dogget

JulioDelphi a tout compris !


Je teste ta soluc dés que j'ai le temps
J'ai regarder rapidement ta source, c'est vraiment tout simple à mettre en place, bravo et félicitation !

Je vous tiens au courant


1 2 3

Cette discussion est classé dans : élément, colonne, bug, bête, radioitem


Répondre à ce message

Sujets en rapport avec ce message

ListView et MDI.... [ par PierreP ] voici mon problème : j'ai créé un ListView dans ma fenêtre principale, et je voudrais que lorsque l'on double-clique sur un élément de ce ListView cel Chemin d'accès d'un élément d'un ShellListView [ par PierreP ] je recherche comment obtenir le chemin d'accès d'un élément sélectionné dans un ShellListViewcela est très important, merci d'avance :) Nix, y a un bug dans le forum.² [ par DelphiCool ] SalutLe Tag [URL] dans le forum ne marche paslookwww.progzed.com Manipulation de composants [ par finipe ] Bonjour à tous. Tout d'abord bravo au concepteur web, le site est bien fait et très clair, c'estagréable, ça change...Bon trève de compliments :)Je dé Un bug dans Delphi 6 ? [ par Kane ] Je viens d'ecrire le code suivant sous delphi 6 pro et j'obtient un drole de resultat ! Avant que la feuille devienne progressivement transparente ell bug sur mon ordi et pas sur les autres [ par choup ] Je n'arrive pas à tout saisir, suite à mon message "pas d'enregistrement maitre" j'ai repris les sources initiales, sans mes modifs, cette source marc Webmaster, y a un bug sur le moteur de recherche [ par Seb_d_angers ] En lancant une recherche on obtient la liste des source et message qui se rapporte aux mots clés mais il y a un bug, le lien qui pointe vers les messa Trier en cliquant sur le titre de la colonne on Grid [ par MasterJ ] Bonjour Programmeur(se) de Delphi,Je voudrais savoir s'il est possible de trier un TDBGrid seulement en cliquant sur le title de la column. Aussi, es Access / SQL / Delphi [ par minipod ] Salut et merci !En fait, j'ai 2 RichEdit sur ma forme. Dans ma table 'dico' (base access) j'ai 2 colonnes. Je voudrai rentrer un mot dans le RichEdit1 Question bête sur TRichEdit [ par magicvinni ] Bonjour, je voudrais utiliser dans mo programme un TRichEdit Intermediaire, je tape doncvar TE:TRichEditbegin TRichEdit.Create(TE); TE.lines.add..


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,889 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.