Holy cow, I wrote a book!
A customer asked,
"I have a listview control in report view with the
LVS_EX_CHECKBOXES extended style.
I noticed that unchecked checkboxes are not visible until I hover
over the corresponding item.
Is it possible to get the checkboxes to be visible all the time?"
I was kind of puzzled by this question because the default
behavior of the list view control is to show the checkboxes all the time.
I could have sat down and written a test program to prove it,
but that would have taken too much time, and it wouldn't have
advanced the story any.
(The customer would merely have written back,
"Well, that's not what I'm seeing.")
This appeared to be a case of a customer providing incomplete
information, forcing me to invoke my psychic powers to fill them in.
"My psychic powers tell me that you have also set the
LVS_EX_AUTOCHECKSELECT is set,
then unchecked checkboxes are hidden."
Remember, when you ask a question about a component and you have
done any customization to that component, please remember to
mention that when you ask your question.
Otherwise nobody will be able to reproduce your problem,
because they will assume you left everything at the defaults.
It's like calling the Ikea customer service line, saying
Frusträt rolling cabinet doesn't roll properly on my
hardwood floor when I put more than about 25 pounds of stuff on it."
The person on the phone looks up the specifications for the
rolling cabinet and sees that that is well within the design limits.
"I paid for you guys to assemble and install it, so it can't be
an assembly or installation error."
The person on the other end scratches their head for a while.
And then you mention,
"Oh, but I didn't like the color of the wheels, so I replaced
them with some other wheels I bought at Home Depot."
Oh, yeah, thanks for not mentioning that.