2010-10-11 14 views
2

J'utilise le contrôle ListView de Common Controls 6.0 en C++ et j'ai besoin de ListView pour sélectionner uniquement.Sélection unique Win32 ListView (Commandes communes)

Tous les contrôles de niveau supérieur ont cette fonctionnalité (par exemple .Net et Qt), mais j'imagine qu'ils sont basés sur ce contrôle quelque part en profondeur. Des idées sur la façon dont je peux obtenir que cela se comporte comme une liste à sélection unique?


Juste au cas où cela fait une différence, voici ma déclaration actuelle créer:

list = ::CreateWindowExW(
    0, 
    WC_LISTVIEWW, 
    NULL, 
    WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_SHOWSELALWAYS | LVS_REPORT | LVS_OWNERDATA, 
    0, 
    0, 
    250, 
    400, 
    parentWindow, 
    NULL, 
    NULL, 
    NULL 
); 

Répondre

5

Vous voulez le drapeau LVS_SINGLESEL

Ce drapeau doit être utilisé dans la création de la fenêtre, le changer après la création échouera - ne peut pas basculer entre mono et multi sélection sans créer 2 commandes séparées.

+0

Merci pour les informations supplémentaires sur le fait de ne pas pouvoir le basculer, ce sera vraiment très pratique! – Miquella

3

Il y a un style LVS_SINGLESEL. Juste OU cela avec les styles que vous avez déjà.