TPlanner, TPlannerGrid properties and method accessibility


I would like to ask few things about these components/classes.


  • Is it possible that PaintItemCol and PaintSideCol methods of TPlannerGrid class move to protected or public section from private section?


  • FGrid: TPlannerGrid: There is a read property for this. Can be extended to read/write property because I use own TPlannerGrid which inherited from origial TPlannerGrid?
  • Is it possible to create read property for these FImageCache and FHTMLFactor private variables?

I have tried to use the TPlanner.ScrollBarStyle.Color property but it seems that has no effect. How to use this property?

Thanks your help.

If this is for the goal of custom drawing items or sidebar timeslots, have you considered implementing the events Planner.OnPlannerItemDraw(), Planner.OnPlannerSideDraw() which are the events designed to do this rather than override methods in internal controls.

OK, thanks your answer. I will check it.

But the other questions are still not answered (FGrid, TPlanner.ScrollBarStyle.Color, etc.). These are also important and not connected to paints.


Sorry, we cannot make FGrid a write-able property.. The Planner counts on having created this grid itself and initialize it. When this would be writeable, this cannot work reliably.
We've added it on the feature request list for consideration to add access to ImageCache and HTMLFactor, although it is unclear what your need for it is.
TPlanner.ScrollBarStyle.Color worked with an older Windows feature to override the scrollbar color but sadly, in Windows versions 8 and newer, Microsoft disabled this.

OK, I can understand. But what is your opinion if there is virtual function in protected section which returns the GridControl class (which class is really used in the current instance)? Similar to TPlannerItems.GetItemClass. As I experienced this is usual way to customize the original class. In this case we can inherit an own class with the plus functionalities.

OK, we added in the protected section the virtual function:

function GetPlannerGridClass: TPlannerGridClass; virtual;

This will be included in the next release.
You can override this to return your custom descending class.

Thank you very much.