TeamAntho
-
24 oct. 2012 à 17:13
beckerich
Messages postés302Date d'inscriptionjeudi 29 septembre 2005StatutMembreDernière intervention17 septembre 2013
-
25 oct. 2012 à 22:14
Bonjour,
voilà en ce moment je m'amuse avec le dessin sous delphi et plus précisément le TCanvas.
J'ai créé un composant dérivé d'un TCustomControl.
Ce composant représente en fait une grille avec des colonnes, des lignes, des cellules.
Ce que j'aimerais arriver à faire c'est que lorsqu'un utilisateur clique sur une zone du canvas représentant une cellule, le focus se mette dans cette zone et la saisie effectuée au clavier s'affiche dans la zone (en temps réel bien sûr)...
J'ai bien pensé à créer dynamiquement un TEdit au moment du clic dans la cellule, puis en sortie récupérer le texte et l'afficher dans le canvas via TextOut mais ça ne me plait pas du tout... J'aimerais me passer de ce genre de chose afin de rester le plus indépendant possible...
Je sais je suis en train de réinventer la roue mais j'aimerais pousser mes limites de connaissances DELPHI afin de continuer à en apprendre plus sur ce magnifique langage...
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 25 oct. 2012 à 14:07
Bonjour,
Cette roue s'appelle TStringGrid. :)
- Pour simuler le focus d'une cellule, utilise Canvas.DrawFocusRect.
- Pour écrire le text, utilise plutôt l'API Windows.DrawText qui est beaucoup plus souple que Canvas.TextOut.