Combobox (readonly ??)

Signaler
Messages postés
13
Date d'inscription
mardi 25 décembre 2007
Statut
Membre
Dernière intervention
6 janvier 2008
-
Messages postés
13
Date d'inscription
mardi 25 décembre 2007
Statut
Membre
Dernière intervention
6 janvier 2008
-
bonjour à tous...

j'ai un petit problème...

je voudrais que mon combobox soit readonly

je fais:
CboType.DropDownStyle = ComboBoxStyle.DropDownList

ça fait que les items qui sont à l'intérieur ne sont pas modifiable mais ce n'est pas ça que je veux....

je veux que le combobox soit enable( pas ENABLE = FALSE) mais qu'il ne puisse pas choisir un autre items dans la liste même si il a plusieurs items dans le combobox....

je veux que l'utilisateur puisse choisir un autre items uniquement quand il appuit sur le bouton "modifier"

merci à l'avance de votre aide

1 réponse

Messages postés
13
Date d'inscription
mardi 25 décembre 2007
Statut
Membre
Dernière intervention
6 janvier 2008

bonjour

j'ai trouvé ce code qui me permettrait en principe de faire ce que je veux :)
mais ça ne marche pas

http://www.vbfrance.com/codes/FONCTION-POUR-METTRE-COMBOBOX-READONLY-SANS-METTRE-EXPLICITEMENT_36952.aspx

***************************************************************
Private
Sub SetComboReadOnly(
ByRef c
As Control,
ByVal ro
As
Boolean)

Dim hWndEdit
As
Integer

If
Not (
TypeOf c
Is ComboBox)
Then
         Throw
New Exception(
"SetComboReadOnly : type de controle non gere.")

End
If

c.Enabled =
Not ro

hWndEdit = FindWindowEx(c.Handle.ToInt32, 0&,
"Edit", vbNullString)

If hWndEdit <> 0
Then
      SendMessage(hWndEdit, WM_ENABLE,
True, 0&)
      SendMessage(hWndEdit, EM_SETREADONLY, ro, 0&)

Else
      Throw
New Exception(
"SetComboReadOnly : erreur API Windows 'FindWindowEx'.")

End
If
End
Sub
************************************************************************mais ça ne marche pas
quand ça exécute: 
 hWndEdit = FindWindowEx(c.Handle.ToInt32, 0&, "Edit", vbNullString)

ça retourne 0 dans la variable "hWndEdit" et le programme plante quand ca exécute : ThrowNew Exception("SetComboReadOnly : erreur API Windows 'FindWindowEx'.")

quelqu'un a une idée ??????????

merci à l'avance