Soyez le premier à donner votre avis sur cette source.
Vue 8 092 fois - Téléchargée 550 fois
procedure TForm1.FormCreate(Sender: TObject); begin FontsListBox.Items.Assign(Screen.Fonts); end; procedure TForm1.FontsListBoxMeasureItem(Control: TWinControl; Index: Integer; var Height: Integer); begin // La fonte est associée à celle du canevas pour pouvoir en déterminer // sa hauteur en pixels. FontsListBox.Canvas.Font.Name:=FontsListBox.Items[Index]; FontsListBox.Canvas.Font.Size:=FontsListBox.Font.Size; // le +1 n'est ajouté que pour pouvoir dessiner les lignes de séparation // Sans, les lignes c'est inutile Height:=FontsListBox.Canvas.TextHeight(FontsListBox.Items[Index])+1; end; procedure TForm1.FontsListBoxDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with FontsListBox.Canvas do begin // Dessin du fond avec la couleur par défaut // Delphi gère lui-même dans ce cas la sélection FillRect(Rect); // Dessin de la ligne de séparation // Ce n'est pas plus joli, mais ça montre bien les éléments de différentes tailles Pen.Color:=Font.Color; MoveTo(Rect.Left,Rect.Top); LineTo(Rect.Right,Rect.Top); // Dessin du texte en fonction de la fonte en cours Font.Name:=FontsListBox.Items[Index]; Font.Size:=FontsListBox.Font.Size; if odSelected In State Then Font.Color := clHighLightText Else Font.Color := clBtnText; // le +1 n'est ajouté que pour pouvoir dessiner les lignes de séparation // Sans, les lignes c'est inutile TextOut(Rect.Left, Rect.Top+1, FontsListBox.Items[Index]); end; end;
18 mai 2004 à 17:27
Par exemple comment on peut redessiner la partie basse du control, c à dire la partie ou c vide d'Item!
Je cherche depuis 1 an et je trouve pas! Bon en mm temps je ne fais pas ke ça!
20 oct. 2003 à 03:36
Je programme un tchat, et je cherche une source pour pouvoir afficher différentes polices et couleurs dans le même objet. Est-ce-qu'avec une ListBox, il est possible de garder les propriétés du texte formaté, c'est-à-dire pouvoir faire un copier/coller d'un mot dans ce qui est affiché?
Avec RichEdit, c'est possible, mais je n'arrive pas à afficher d'image...
Merci de ton aide, je vais continuer à étudier cette source... à+
4 nov. 2002 à 20:52
Il n'y a pas cinquante méthodes non plus pour arriver au résultat.
4 nov. 2002 à 20:20
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.