Bonjour,
Est-ce que quelqu'un connaitrait un équivalent de ce composant, qui permet de choisir une police dans une ComboBox remplie par toutes les polices disponibles.
Merci.
Bonjour,
Est-ce que quelqu'un connaitrait un équivalent de ce composant, qui permet de choisir une police dans une ComboBox remplie par toutes les polices disponibles.
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ComboBox1.Items.Assign(Screen.Fonts);
ensuite avec la propriété Style de la combobox (csOwnerDrawFixed ou csOwnerDrawVariable) on peu déssiner la police dans la combobox grace à l'evenement OnDrawItem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; ARect: TRect; State: TOwnerDrawState); var CBX : TComboBox; FNM : string; begin CBX := (control as TComboBox); FNM := CBX.Items[index]; CBX.Canvas.FillRect(ARect); CBX.Canvas.Font.Name := FNM; CBX.Canvas.TextRect( ARect, ARect.Left + 2, ARect.Top + 2, FNM); end; procedure TForm1.FormCreate(Sender: TObject); begin ComboBox1.Style := csOwnerDrawVariable; ComboBox1.ItemHeight := 21; ComboBox1.Items.Assign(Screen.Fonts); end;
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
Merci docteur !
Je vais bien vite faire un composant qui fasse cela tout seul...
bon code alors
n'oublie pas d'intercepter les messages WM_FONTCHANGE dans ton composant pour qu'il se "rafraichisse" automatiquement quand des polices sont ajouté ou supprimé du système.
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
C'est possible sous Linux, ça ?
Dans l'ensemble, tous les messages fonctionnent aussi sous nux![]()
Partager