Короткий ответ - нет. Но поскольку это кажется неполным ...
ListView
не предоставляет API, который позволяет вам изменять его поведение выбора, и, как Ганскосвенно помещает это в своем комментарии, единственный способ изменить поведение элемента управления ListView
, обнаруженного в версиях comctl32.dll до версии 6.0, - использовать машину времени.В элемент управления ListView
встроено много уникального поведения в отношении событий выбора, поэтому даже если бы вы попытались и владелец нарисовал элемент управления, чтобы изменить внешний вид поведения выбора, вы внезапно столкнетесьс необходимостью обрабатывать почти нелепое количество оконных сообщений, которые потенциально могут вызвать изменение выбора.
Стоит также указать, что этот вопрос введен в заблуждение на совершенно другом уровне.Если пользователь вашего приложения использует версию Windows, которая включает версию comctl32.dll до версии 6.0, , это поведение, которое они ожидают от элемента управления ListView
.Заменять и изменять это было бы для них только путаницей, потому что это не сработало бы так же, как любой другой элемент управления ListView
, найденный на их компьютере.Напротив, если пользователь вашего приложения использует версию Windows, которая включает comctl32.dll v6 или новее, элемент управления ListView
будет уже работать так, как вы описали по умолчанию.(И вам не следует менять его по тем же причинам.)