J'ai un TComboBox dans mon formulaire Delphi 7 avec quelques éléments dedans. Dans l'événement OnChange
, je fais un traitement en fonction de l'élément sélectionné, mais au cours de ce traitement, je souhaite revenir à l'élément sélectionné précédent.Comment faire pour obtenir ComboBox ItemIndex avant l'événement OnChange?
Programmatically, je veux quelque chose comme
ComboBox.ItemIndex := oldItemIndex;
Le problème est que je ne sais pas comment obtenir le oldItemIndex
.
J'ai essayé de définir une variable (globale) dans l'événement OnCloseUp
, mais ItemIndex il y a déjà le nouvel ItemIndex sélectionné. J'ai également essayé d'enregistrer oldItemIndex
sur OnEnter
événement. Bien que cela fonctionne pour enregistrer le oldItemIndex
la première fois que le contrôle est mis au point, cela ne fonctionne pas si le focus est conservé, ce qui ne fonctionne effectivement que la première fois que l'élément change.
Quelle est la manière la plus simple d'obtenir le dernier élément sélectionné dans une zone de liste déroulante à l'intérieur du gestionnaire d'événement OnChange?
J'ai fait quelque chose comme ça, mais je me demandais s'il y a un moyen qui n'implique pas s en utilisant une variable en dehors de la portée de 'OnChange'. – ricardomenzer
@ricardomenzer J'ai édité ma réponse pour inclure une façon de le faire sans une variable en dehors de l'événement onchange – GuidoG
C'était ce dont je parlais. Vraiment une bonne solution. Réponse acceptée. Merci. – ricardomenzer