Combobox

Signaler
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010
-
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010
-
Bonjour,

Kk'un sait t'il comment on peut ouvrir (dérouler) une combobox par le code et non pas par un click dessus?? le tout en eVB (ou VB6 parce que je pense ke la manip sera sensiblement la meme..)

j'espere avoir été clair, c'est assez urgent!

Merci a tous!!

6 réponses

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
27
Bonjour,
Ce code ouvrira le Combobox dès qu'il reçoit le focus.

Dans un Module:

Public Declare Function SendMessage Lib "User32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Public Const CB_SHOWDROPDROWN = &H14F

Dans la Form

Private Sub Combo1_GotFocus()
Dim Tmp
Tmp = SendMessage(Combo1.hwnd, CB_SHOWDROPDROWN, 1, ByVal 0&)

End Sub

jpleroisse

s
Si une réponse vous convient, cliquez Réponse Acceptée.
0
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010

Merci pour ta reponse des plus rapide

Malheureusement, g essayer ce code sur VB6 et il marche parfaitement mais pas sur eVB, chui vraiment pas veinard.. me demande meme si c possible a faire pffffff
0
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
27
Re,
En VBA Excel, ce code ne marchera pas !, il n'y a pas de propriété hwnd.

jpleroisse
0
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010

Ben apparement, cela ne marche pas non plus en eVB a cause de cela aussi
0
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Et si tu rajoute ca dans tes déclaration, en haut du module :

Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long


Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long


Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Ca déclare hwnd, par contre, je l'utilisais pour occulter la croix de mes UserForm donc à tester.

Si ça marche, c'est cool

@ +

Mortalino
0
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010

ben non, c toujours pareil ca marche pas sur embedded visual basic.. peut etre tou comme vba, celui ci ne reconnais pas les hWnd

Merci kan meme Mortalino :o))
0