Miscellaneous Features
Using ExpressEditors for In-place Editing
Event management provided by the ExpressScheduler is extremely easy - you just type an event's caption over the selection to add an event or click an event and modify its caption by typing a new one. But can it be even simpler than just typing? Yes, it can! With ExpressEditors support built into the ExpressScheduler, you can allow your end-users to choose a value from a dropdown or provide an intuitive popup form and use any control from over 30 editors within the ExpressEditors Library. All you need to do is handle the scheduler's OnGetEventEditProperties event and you are on your way to building your best.

Localization
The ExpressScheduler displays two types of strings in its elements, dialogs and menus - some string are read from the regional settings so you will never have to worry about their localization and the rest are easily localizable. You just determine the resource string that specifies a particular caption and call the cxSetResourceString method to change the caption to whatever you need.

Saving and Restoring the Scheduler's Layout
The complete flexibility in end-user layout customization requires a mechanism to save/restore the control's layout at runtime or between application runs. This will allow end-users to choose one of the previously saved control layouts or just start the next session right where they left off. We allow you to provide control layout persistence via a set of StoreTo... and RestoreFrom... methods that work with the following storage medias:
- INI files;
- System registry;
- Streams.

Hit Information
There may be lots of tasks that require you to identify which scheduler element is currently under the mouse pointer. You may need to provide custom popup menus for particular elements, display event-related information within the status bar, invoke custom dialogs when double-clicking a particular control region, etc. All of these tasks can be easily accomplished with the help of the hit information mechanism available in the ExpressScheduler. All you need to determine the element under the pointer is read the Scheduler.CurrentView.HitTest or Scheduler.DateNavigator.HitTest property value.

|