Repositionner le DropDownList d'un combobox [Résolu]

cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention - 24 avril 2010 à 10:23 - Dernière réponse : cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention
- 28 avril 2010 à 21:03
Bonjours!

C'est un combobox de DataGridView (DataGridViewComboBoxColumn)
dont j'ai redimensionné le DropDownWidth.

Lorsque le DropDownList s'affiche, il est aligné à gauche
par rapport à la colonne de la grille (DataGridView).
Je voudrai l'aligner à droite.

La raison est que mon DropDownList déborde de l'écran,
et le Vscroll n'est plus visible.

Une idée!

Merci
Afficher la suite 

Votre réponse

7 réponses

cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 27 avril 2010 à 17:23
+3
Utile
Ah zut pour le second lien... C'était ici. Mais bon c'est en fait à 90% le même code.

En quoi le code VB.NET ne fonctionne pas ? Il n'aligne que le texte de la liste sans aligner la liste avec la combo ?

La liste a aussi un handle. C'est celui qui est utilisé pour aligner le texte dans la liste. Il se récupère en utilisant GetComboBoxInfo qui renvoie une COMBOBOXINFO ayant un champ hwndList.

Tu dois effectivement pouvoir faire un MoveWindow dessus, mais bon c'est quand même assez risqué (Calcul de la bonne position pas évidente).
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rt15
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 27 avril 2010 à 09:25
0
Utile
Salut,

Regarde par ici et par éventuellement par là (Même chose en C#), quoique je ne sois pas sûr que ce soit suffisant pour ton problème.

[private joke]
Attention, ce sont des fonctions classiques, pas du COM.
joke
Commenter la réponse de cs_rt15
cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention - 27 avril 2010 à 17:02
0
Utile
Salut,
Les deux lien pointes vers la même page???

Mais bon, rien chez eux.
j'ai bien vu un code qui utilise MoveWindow, mais c'est tout le combox
qui se déplace et non le DropDownList

D'ailleurs, est ce qu'un DropDownList a un handle
Merci tout de même.

A moitié pardonné
Commenter la réponse de cs_Tropic
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 27 avril 2010 à 17:30
0
Utile
Voilà un code C# avec SetWindowPos plutôt que MoveWindow. Il récupère bien le handle sur la liste avec la méthode de mon précédent poste (Sauf qu'il utilise un message CB_GETCOMBOBOXINFO au lieu d'appeler GetComboBoxInfo, ce qui revient au même).
Commenter la réponse de cs_rt15
cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention - 27 avril 2010 à 20:26
0
Utile
Merci rt15

C'est le cadre du DropDownList que je veux déplacer à gauche et non le texte
Mai je pense que j'ai tous les éléments en main pour me dépatouiller
Je confirmerai plus tard

merci encore
Commenter la réponse de cs_Tropic
cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention - 28 avril 2010 à 11:51
0
Utile
Bon j'ai mon alignement correct, juste un petit souci esthétique.
j'attend l'évènement .DropDown pour redéplacer mon DropDownList.
Le problême est qu'il s'affiche avant est se déplace ensuite

J'ai mis en place une procédure Hook, mais je ne sais pas quoi
attendre comme message
mjm
Commenter la réponse de cs_Tropic
cs_Tropic 90 Messages postés lundi 16 décembre 2002Date d'inscription 1 février 2011 Dernière intervention - 28 avril 2010 à 21:03
0
Utile
Même souci en interceptant le message CBN_DROPDOWN (Hook)
On voit le sursaut du DropDownList. je vais m'en contenter pour l'instant.
Si quelq'un passe par là et connais la solution!!!

Et encore merci rt15, je tournait en rond en cherchant DropDownList, le COMBOBOXINFO m'a bien aidé
Commenter la réponse de cs_Tropic

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.