August 20th, 2012, 11:41 AM
Overriding TCategoryPanel and TCategoryPanelGroup w/ redraw issues
I have been beating my head off the wall for a while now and I haven't come across a solution yet. I'm reaching out for help because I've spent the better part of a week trying to figure this issue out, so I was wondering if anybody might know the answer to the following.
I decided that I needed to modify the TCategoryPanelGroup and TCategoryPanel classes, so I derived from TCustomCategoryPanelGroup and TCustomCategoryPanel and added some data-awareness to them, plus a field/values and icon drawing. It seems like everything is working properly when I put standard windows controls like TImage, TDBGrid, etc in the TCategoryPanels. However, I am using the Dev Express components which must have a different drawing mechanism, and when I put them in the TCategoryPanel, they don't redraw when scrolling, however, if I resize the TCategoryPanel, everything seems to redraw. Occasionally, when I click on either side of the thumb in the scrollbar it seems to draw correctly but not all the time.
I am not sure how to make the Dev Express components (specifically the TcxGrid and CardView) redraw while scrolling. I'm getting to the point where I don't care if its a hack and when scrolling by resizing the panel +/-1 one pixel, but there doesn't seem to be an onscroll event for the CategoryPanel.
Any help would be appreciated. I am currently working on making a small sample, but I don't think I'll be able to duplicate it without actual Developer Express components.
August 20th, 2012, 01:42 PM
If you are correct in deducing that this is exclusively an issue with Dev Express components then
you need to address your question to Dev Express support.
Either way, it looks as if the repaint/refresh message is not being sent appropriately to these components
or they are not responding appropriately when receiving it.