I am writing a control based on the UltraDayView (inherits UltraDayView) which requires a lot of custom GDI+ work.
One of the problems I'm running into is my inability to control the invalidation of certain parts of the control. As I move the mouse, resize the window, etc, the UltraDayView marks certain areas as invalidated and I can't stop it. Overriding OnInvalidated obviously doesn't help because at that point the areas have already been marked for repainting. It would be great if there was an event like OnBeforeInvalidate(_invalidRect) so that I could control what areas are to be redrawn, but of course one does not exist.
Is there a way I can turn off all or refreshing done by the UltraDayView itself or perhaps just control the rectange/region being passed to invalidate? Perhaps by overriding WndProc? Perhaps through some underlying Infragistics mechanism I am not aware of?
Thanks,
Raphael
I guess see what Sung comes up with after he tales a lok at the sample...I would think this problem could be solved using the IUIElementCreationFilter interface, but the penalty there is you will have to devote some time to creating your own custom UIElement-derived classes to use in your implementation.
Brian,
I need an extremely customized interface for extremely picky users (specialty project for the president of a major motion picture studio and his team) and I'm working off graphic designer generated screenshots/flows. A context menu just won't do.
-Raphael
Mike,
Thanks for the reply. That is exactly the issue I've been running into. There are lots of other controls being drawn on top of the appointment. Overriding on paint and calling the base method is my last resort in this case since I need the UI to be quick and responsive and I don't think using OptimizedDoubleBuffering in my parent control will help if I take this approach.
Sung,
Thanks, I'll throw one together.
rmorozov said:One of the things the parent control needs to do is draw custom context menus/sub-windows on top of the UltraDayView controls