Alignement dans une liste box [Résolu]

Messages postés
98
Date d'inscription
jeudi 1 avril 2004
Dernière intervention
22 mai 2008
- - Dernière réponse : jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 20 janv. 2005 à 09:54
Actuellement je dois réaliser un composant calcuatrice avec une bande pour un stage de fin d'année. Le problème est que ma bande est réalisée grâce à un liste box, et qu'il faut que j'aligne tous ses items sur la droite plutot que sur la gauche.

Je sais que l'on peut le faire grâce a la propriété canvas de la liste box mais cela tronque mes items puisque que je ne sais pas réellement la taille qu'ils peuvent faire.

Si quelqu'un connaît un autre moyen d'aligner dans une liste box je suis ouverte à toute proposition.

Merci d'avance à vous tous.

La puce
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
2
3
Merci
Salut, la puce



La largeur nécessaire pour écrire une chaîne est donnée par la méthode TextWidth du canvas.



procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;

Rect: TRect; State: TOwnerDrawState);

var

S :string;

w : Integer;

begin

s := ListBox1.Items[Index];

//chaîne à écrire

w := ListBox1.Canvas.TextWidth(s);

// largeur d'icelle

ListBox1.Canvas.TextOut(Rect.Right-W,Rect.Top,s); // dessin aligé à droite

end;



Il ne faut pas oublier de mettre

ListBox1.Style := lbOwnerDrawFixed;




Ken@vo

____________________

Code, Code, Codec !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Kenavo
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
6
3
Merci
Hello,



Ah ben cool pour la enieme fois que delphifr plante quand j'ajoute une
reponse et bien entre temps kenavo à ecrit la meme chose que ce que
j'avais mis.



Je confirme que le code de Kenavo est correct juste une petite reprise

Je pense qu'il faut mieux mettre (Control as TListBox) au lieu de ListBox1.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmp77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.