ListView painting (was Re: Mouse up vs Mouse click)
Cenedese at indel.ch
Thu Jan 29 07:40:48 CST 2004
At 08:27 29.01.2004 -0500, Dimitrie O. Paun wrote:
>On January 29, 2004 08:08 am, Fabian Cenedese wrote:
>> Understandable. Any hints how I could continue? Where to look at?
>I don't think I understand this bit. Care to explain it again?
> "So for me it looks like this: When I click in a cell it gets invalidated
> and painted selected. But if the cell is not in the first row the first
> column (or the whole line) gets invalidated and repainted too, therefore
> erasing the already painted selection."
That was my weak try to explain what I see :)
Ok, again in short what happens: I can click on a cell in the first column,
it gets selected, I can release the mouse button, everything fine.
But when I press on a cell in another column it shortly gets selected
and immediately the selection again disappears, even while still
holding the mouse button. The logical selection seems to be ok
as I can move it to another cell with the cursor keys (and it strangely
stays there unlike if done so with the mouse).
So if only the visual display is wrong I was looking for an explanation
with the paint events. The cell is set selected and then the whole
line invalidated (as it is ownerdrawn). Maybe in Windows only the
Invalidate/Update cause the line to be repainted whereas in wine
already the SetItem will cause a first Update and then the Invalidate
a second one. But then again it should just flicker a bit but not
Btw, the hanging in the CListCtrl::OnLButtonDown I mentioned
is also in wine for the first column (maybe that's why this works).
But for the other columns it just rushes through.
More information about the wine-devel