7
votes

Gardez la ligne de manière permanente sélectionnée dans la liste de réception dans Win32

J'utilise Win32 ListView32.

Lorsque la ligne dans la listview est sélectionnée, il a une couleur bleu foncé. La ligne peut être sélectionnée en cliquant sur elle ou en appelant par appelant listview_setemstate (hwnd, index, lvis_selected, lvis_selected); . .

Lorsque ListView la mise au point de contrôle est perdue La ligne sélectionnée devient grise.

Comment puis-je garder la ligne sélectionnée avec une couleur bleu foncé indépendamment de la mise au point?


0 commentaires

3 Réponses :


2
votes

Utilisez le Lvs_showselalways style fenêtre. Je ne pense pas que cela puisse rester aussi bleu sombre que c'est l'indicateur que ce contrôle a la focalisation.


2 commentaires

Si c'est montrant gris pour le moment, la vue de la liste a déjà le style lvs_showselalways .


Vous avez besoin de changer la couleur de la ligne. Il est déjà sélectionné.



1
votes

"Vraisemblablement que vous faites cela dans un gestionnaire Oninitdialog? Si oui, vous avez besoin à SetFocus sur votre contrôle de liste et renvoyez False de Oninitdialog. "


0 commentaires

1
votes

Si vous utilisez VC6.0. Vous pouvez définir des propriétés comme «Sélectionner la sélection toujours» à ListView. Et ListView sera défini par VC6.0 comme lvs_showselalways .

La définition du fichier de ressource ressemble à: xxx

et L'élément sélectionné sera mis en surbrillance. Pour mon programme, la couleur d'arrière-plan par défaut est blanche, la couleur sélectionnée par défaut et la couleur ciblée est bleue et la couleur ciblée par défaut sélectionnée mais perdue est grise (lorsque USR clique sur un autre contrôle).


0 commentaires