Comment faire un Delphi TSpeedButton rester appuyé sur si il est le seul dans le groupe
Je ne suis pas sûr pourquoi, la TSpeedButton a cette propriété, mais quand un TSpeedButton est le seul bouton de groupindex, il ne reste pas enfoncé, si oui ou non "AllowAllUp" est pressé. Peut-être un Jedi de contrôle suffirait, mais j'espère qu'il y a une certaine difficulté. Toute aide ou les anecdotes sont les bienvenues.
BTW, je suis (encore) à l'aide de Delphi 7, ne sais pas si c'est une énigme.
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas de D7 ici, mais dans D2006 un Speedbutton reste en bas si le GroupIndex a une valeur > 0.
Si ce n'est pas le comportement que vous le souhaitez, vous pouvez définir la Propriété manuellement dans le OnClick Eventhandler (assurez-vous que le GroupIndex est 0).
J'ai juste essayé que dans Delphi 7 (Build 4.453):
TSpeedButton
pour formerAllowAllUp := true;
GroupIndex := 1;
En cliquant sur le bouton, il permet de basculer de son état, sans aucune autre code nécessaire.
knight_killer est correct. je peux vous dire qu'il va travailler dans n'importe quelle version de delphi:
Delphi fait le travail pour vous afin de "ne pas écrire du CODE".
Dans l'IDE sélectionnez TOUS vos SpeedButtons que vous
souhaitez fonctionner comme un groupe, puis l'ensemble de l'
du groupe "GroupIndex" quelque chose d'autre que "0"
et vous avez terminé -- SANS CODE, NADA!!
Hm, étrange, je me souviens à l'aide de ce tout à fait à quelques reprises avec succès. Peut-être que vous devriez essayer de jouer avec les SpeedButton de
Down
propriété? Je ne pense pas qu'il bascule automatiquement lorsque vous cliquez dessus --- vous devez explicitement basculeDown
, je suppose...[edit: remplacé
Checked
avecDown
--- TSpeedButton n'ont pas deChecked
propriété, désolé!]Pour obtenir que cela fonctionne, vous ne pouvez pas basculer vers le Bas de la propriété, parce qu'il est toujours dans l'événement OnClick. Vous avez besoin d'avoir une autre valeur:
Le truc est de mettre la GroupIndex à une valeur unique, et de définir AllowAllUp de vrai.
Si vous oubliez le premier, il ne sera pas rester en bas, si vous oubliez le second, il ne va pas rester en place, une fois qu'il a été vers le bas.
Ensemble AllowAllUp de Vrai.
Ensemble GroupIndex non 0.
De tout garder dans le OnClick, essayez
GroupIndex
groupes de boutons. Seulement l'un des boutons du groupe peut être active. Tous d'entre eux doit avoir le même indice supérieur à0
.AllowAllUp
permet de basculer le bouton vers le bas et le haut, lorsqu'il est cliqué 2 fois dans une rangée.J'étais à la recherche d'une solution pour mon problème et je pense que c'est la même.
Je voulais faire un SpeedButton basculer le haut et le bas de l'état comme un interrupteur, et j'ai réussi cela en définissant les propriétés:
Puis dans le
OnClick
événement du bouton que j'ai écrit:Ceci permet de basculer le bouton vers le bas lorsqu'il est cliqué et quand il est cliqué à nouveau.
Espère vous être d'une aide quelconque
Ensemble AllowAllup de vrai, et en Bas à faux.
Puis dans
OnClick
événement: