Question

Le ListView dans Comtl32.dll v6.0 fait sélection multiple (en utilisant la touche Maj) comme suit (x signifie choisis)

00xxxx
xxxxxx
xxxx00

Les versions antérieures de ListView font comme suit:

00xx00
00xx00
00xx00

Est-il possible de l'avoir fait la première manière (la façon comctl32 v6.0)?

Merci John

Était-ce utile?

La solution

La réponse courte est non. Mais parce que cela semble incomplet ...

Le ListView ne pas exposer une API qui vous permet de modifier son comportement de sélection, et que de Hans les met dans son commentaire, la seule façon de changer le comportement du contrôle ListView dans les versions de comctl32.dll avant la version 6.0 est une machine à temps. Il y a beaucoup de comportement unique intégré dans le contrôle de ListView en ce qui concerne les événements de sélection, même si vous deviez essayer de propriétaire dessinez le contrôle de modifier le apparence du comportement de sélection, vous seriez tout à coup être confronté à avoir à gérer un nombre presque ridicule de messages de fenêtre qui pourraient provoquer un changement de sélection.

Il est également intéressant de souligner que cette question est erronée sur un tout autre niveau. Si l'utilisateur de votre application exécute une version de Windows qui inclut une version de comctl32.dll avant la version 6.0, c'est le comportement qu'ils attendent hors du contrôle de ListView. Redéfinition et changer ce ne serait rien, mais source de confusion pour eux, parce que cela ne fonctionnerait pas de la même manière que tous les autres contrôle ListView trouvé sur leur ordinateur. En revanche, si l'utilisateur de votre application exécute une version de Windows qui inclut v6 comctl32.dll ou plus tard, le contrôle de ListView sera déjà effectuer que vous décrivez par défaut. (Et vous ne devriez pas vouloir changer pour exactement les mêmes raisons.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top