CptanPanic
CptanPanic

Reputation: 639

Using a CListCtrl, how can I make selection color entire row?

I currently have NM_CUSTOMDRAW message calling a function to color the rows of a listctrl in report mode. I can detect when a row is selected and color it myself, but this method doesn't get called for the cell that is selected, so I can't color that cell. So my question is 1) is there a way to have windows call my custom draw method for every cell whether it is selected or not? 2) If not what is the easiest way to make a selection span entire row. Thanks, CP

Upvotes: 4

Views: 4376

Answers (1)

CptanPanic
CptanPanic

Reputation: 639

I found the answer, and Microsoft made it easier than I guess it used to be.

m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);

See:

https://learn.microsoft.com/en-gb/windows/win32/controls/extended-list-view-styles?redirectedfrom=MSDN

LVS_EX_FULLROWSELECT

When an item is selected, the item and all its subitems are highlighted. This style is available only in conjunction with the LVS_REPORT style.

Upvotes: 10

Related Questions