Alignement dans une liste box [Résolu]

lapucedu88 98 Messages postés jeudi 1 avril 2004Date d'inscription 22 mai 2008 Dernière intervention - 20 janv. 2005 à 07:55 - Dernière réponse : jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention
- 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
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 20 janv. 2005 à 09:21
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 !

Merci cs_Kenavo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de cs_Kenavo
Meilleure réponse
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 20 janv. 2005 à 09:54
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.

Merci jmp77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes 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.