As you could probably guess from my previous message, I'm trying to handle
some of a listviews "custom draw" events. :-)
I've got a few problems though: Using XPsp3:
(retrieved: yesterday, 2021-02-13)
It states for the RECT argument that its initialized on a CDDS_ITEMPREPAINT state. My own logging shows its *only* initialized on a CDDS_PREPAINT (0x00000001) state, and that the mentioned CDDS_ITEMPREPAINT (0x00010001) state *doesn't* initialize it at all (contents are random)
Worse, that above RECT initialisation does not carry over to the following CDDS_ITEMxxxx state messages. Or specifically, in that case only the Left
and Right fields are set, with the Top and Bottom fields being random. In
other words: not usable when trying to draw on the (sub) items DC.
What, if anything at all, am I missing here ?
The ColorText and ColorBackground fields (the first two in the extended NMLVCUSTOMDRAW structure). On all but the CDDS_PREPAINT (0x00000001) and CDDS_POSTPAINT (0x00000002) draw states the colors are always set to 0xFF000000. Meaning, black, but fully transparent. Regardless of if its
the currently focussed item or not. Again, not usable.
Also, missing : the color with which the (sub)items rectangle is cleared.
There is a "clrFace" field, but as it happens that one isn't present in the
XP definition. Also, what is a "face" ? Text foreground ? text
Background ? The rectangles erase color ? I haven't got the foggiest
I was expecting that the NMLVCUSTOMDRAW notification structure would give me everything needed to, on the CDDS_(sub)ITEMxxxPAINT state, (re)draw a (sub)items rectangle - selected or not. It doesn't. WTF ?
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)