C 在Win32的ListView中保持行永久选中

C 在Win32的ListView中保持行永久选中,c,listview,winapi,mfc,selection,C,Listview,Winapi,Mfc,Selection,我正在使用Win32 ListView32 选中ListView中的行时,该行为深蓝色。 可以通过单击该行或通过调用ListView\u SetItemState(hwnd、index、LVIS\u selected、LVIS\u selected)以编程方式选择该行 当ListView控件焦点丢失时,所选行变为灰色 如何使所选行保持深蓝色,而不考虑焦点?使用窗口样式。我认为它不能保持深蓝色,因为这是该控件具有焦点的指示器。“大概您是在OnInitDialog处理程序中执行此操作的?如果是,您需

我正在使用Win32 ListView32

选中ListView中的行时,该行为深蓝色。 可以通过单击该行或通过调用
ListView\u SetItemState(hwnd、index、LVIS\u selected、LVIS\u selected)以编程方式选择该行

当ListView控件焦点丢失时,所选行变为灰色

如何使所选行保持深蓝色,而不考虑焦点?

使用窗口样式。我认为它不能保持深蓝色,因为这是该控件具有焦点的指示器。

“大概您是在OnInitDialog处理程序中执行此操作的?如果是,您需要
将焦点设置为列表控件,并从OnInitDialog返回FALSE。“

如果您使用的是VC6.0。您可以将属性设置为ListView的“始终显示所选内容”。而ListView将由VC6.0定义为
LVS\u SHOWSELALWAYS

资源文件中控件的定义如下所示:

CONTROL         "List2",IDC_LIST_MEMBER,"SysListView32",LVS_REPORT | 
                LVS_SHOWSELALWAYS | LVS_EDITLABELS | WS_BORDER | 
                WS_TABSTOP,7,64,514,187

并且所选项目将高亮显示。对于我的程序,默认背景颜色为白色,默认选定和聚焦颜色为蓝色,默认选定但失去聚焦的颜色为灰色(当usr单击其他控件时)。

如果此时列表视图显示为灰色,则列表视图已具有
LVS\u showselavays
样式。您需要更改行的颜色。它已被选中。