The class and examples were developed for a competition arranged by TheXpert.
This class allows to handle the cursor hover and pressing the free form button.
The button is implemented using the standard OBJ_BITMAP_LABEL object. Images should be set for four button states (normal, hovered, pressed, hovered pressed). The button shape is determined by analyzing the default state image (normal button). A set of free form regions on an image with non-zero transparency is treated as a button. The button shape can be as complex as possible. The implementation works correctly for any anchor corner (OBJPROP_CORNER) and any chart subwindow.
Standard Library is required for compilation.
The archive contains the button class and 3 examples:
- Buttons on a chart without a dialog box. You can set the anchor corner and the 1st point coordinates in the settings.
- Buttons in an Expert Advisor dialog box.
- Buttons in an indicator dialog box.
Video:
Tips:
- The library is not limited to pressed buttons (as in the video). You can set the button type using the Locking() function.
- Transparency threshold used – 250.
- The library works with BMP images in 32-bit format (A8 R8 G8 B8). The image should be loaded as a resource (see examples).