Bonjour,
Je suis sous W11 avec Delphi 6 Personal Edition.
Je suis en train d'injecter (ou d'essayer...) des contrôles dans des cellules d'un contrôle dérivé d'un TStringGrid.
J'ai essayé TButton. Ca marche, le bouton apparaît et il est cliquable.
Mais le clic ne déclenche pas l'évènement OnClick du bouton injecté.
Par contre, appeler programmatiquement la méthode Click du TButton déclenche bien sa routine OnClick.
Pui, j'ai essayé TSpeedButton à la place.
Là encore, le bouton apparaît bien et est cliquable.
Mais cette fois, le clic déclenche bien l'évènement OnClick du bouton injecté.
Conclusion: si je veux un bouton dans un TStringGrid, il faut utiliser TSpeedButton.
Mais pourquoi ? Qu'est-ce qui fait que TSpeedButton fonctionne et pas TButton, en injection dans une cellule d'un TStringGrid ?
Je joins une capture d'écran après le clic sur un des 6 TSpeedButton injectés - la routine évènement OnClick affiche les coordonnées de la cellule cliquée:
D'ailleurs, après un clic sur le bouton dans la cellule ligne 3 colonne 2, un peut cliquer sur "Info" et on obtient des informations sur la cellule clickée:
![]()







Répondre avec citation
Partager