Ecrire sur un TCanvas

Signaler
-
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
-
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

Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
13
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.
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Bonsoir,

et même mieux avec TDrawGrid ;-))