Ecrire sur un TCanvas

TeamAntho - 24 oct. 2012 à 17:13
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 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...

Merci d'avance pour votre aide...

2 réponses

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
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.
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
25 oct. 2012 à 22:14
Bonsoir,

et même mieux avec TDrawGrid ;-))
0
Rejoignez-nous