mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 4 nov. 2006 à 01:55
Nagstef :
Ce n'est pas possible, il faut faire ton propre UserControl, de type Combo, et dont la propriété "ListRow" (à créer) soit à 10 ou autre selon besoin, au lieu de 8.
Pour info, le combobox en VBA traite cette propriété.
@++
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 nov. 2006 à 00:15
Une comboBox n'est jamais rien d'autre que la "réunion", en un seul contrôle, d'une textbox et d'une listbox.
Une listbox pouvant avoir une hauteur définie par l'utilisateur (ce qui n'est pas le cas d'une combobox), rien ne t'empêche d'utiliser une listbox assortie d'une textbox...et :
1) de définir sa hauteur au minimum dans l'événement activate de la form
2) de "jouer" avec l'événement scroll de la listbox pour en mofifier la hauteur
2) de remettre cette hauteur au minimum au MouseMove de la Form
Quelquechose qui s'inspirerait donc de ceci :
Private Sub Form_Activate()
For i = 1 To 10
List1.AddItem i
Next
List1.Height = 315
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If List1.Height > 315 Then List1.Height = 315
End Sub
Private Sub List1_Scroll()
List1.Height = 3000
End Sub
xForm.ScaleMode = XScaleMode
Set vCtrl.Container = xCont
EndSub
Puis :
PrivateSub Form_Load()
Dim xHeight AsLong
xHeight = 180 ' en pixel : affiche 12 lignes en Font MS sans Serif taille 8
Call SetCtrlHeight(Combo1, xHeight)
EndSub