Formater le contenu d'une cellule de stringgrid en monétaire
Salut
je voudrais formater les nombres contenus dans les cellules d'un stringgrid
en tenant en compte les séparateurs de milliers.
Donc, après avoir tapé "1000" et validén on doit avoir "1 000".
J'utilise le code suivant dans la procedure OnDrawCell :
Code:
1 2 3 4 5 6 7
| procedure TVentAnalFrm.FormatNombres(Sender: TObject; ACol,ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
Canvas.Pen.Style := psClear;
Canvas.Rectangle(Rect);
Canvas.TextOut(Rect.Right - Canvas.TextWidth(Cells[ACol, ARow])-10,
Rect.Top, FormatFloat('#,##0',StrtoFloat(Cells[ACol, ARow])));
end; |
A l'exécution, je remarque que la valeur initiale saisie et la valeur formatée
apparaissent toutes deux dans la cellule.
La cellule n'est donc pas vidée avant le dessin sur le canvas.
Mais quand je double clique sur la cellule pour l'éditer, la valeur formatée disparaît et l'édition se fait sur la valeur initiale.
Avez-vous une solution ?