Bonjour,
Savez vous comment faire pour que la largeur du TCombobox s'ajuste à celle du plus grand texte de sa liste déroulante (Items), ceci au moment de l'ouverture de la liste (dropdown)?
Merci pour toutes réponses!
Version imprimable
Bonjour,
Savez vous comment faire pour que la largeur du TCombobox s'ajuste à celle du plus grand texte de sa liste déroulante (Items), ceci au moment de l'ouverture de la liste (dropdown)?
Merci pour toutes réponses!
Ajoute ce code dans l'événement OnDropDown du Combo:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 uses Math; procedure TForm1.ComboBox1DropDown(Sender: TObject); var i, w :integer; begin inherited; with TComboBox(Sender) do begin w := Width; for i := 0 to Items.Count - 1 do w := Max(w, Canvas.TextWidth(Items[i]) +30); Perform(CB_SETDROPPEDWIDTH, w, 0); end; end;
Merci bien, ça fonctionne, j'ai juste remplacé
- la valeur 30 par 70
- la fonction Max par un if
Encore merci