class Fl_Button

Class Hierarchy

Include Files


Buttons generate callbacks when they are clicked by the user. You control exactly when and how by changing the values for type() and when().

Buttons can also generate callbacks in response to FL_SHORTCUT events. The button can either have an explicit shortcut() value or a letter shortcut can be indicated in the label() with an '&' character before it. For the label shortcut it does not matter if Alt is held down, but if you have an input field in the same window, the user will have to hold down the Alt key so that the input field does not eat the event first as an FL_KEYBOARD event.


Fl_Button::Fl_Button(int x, int y, int w, int h, const char *label = 0)

The constructor creates the button using the position, size, and label.


The destructor removes the button.

int Fl_Button::clear()

Same as value(0).

Fl_Boxtype Fl_Button::down_box() const
void Fl_Button::down_box(Fl_Boxtype bt)

The first form returns the current down box type, which is drawn when value() is non-zero.

The second form sets the down box type. The default value of 0 causes FLTK to figure out the correct matching down version of box() .

int Fl_Button::set()

Same as value(1).

void Fl_Button::setonly()

Turns on this button and turns off all other radio buttons in the group (calling value(1) or set() does not do this).

ulong Fl_Button::shortcut() const
void Fl_Button::shortcut(ulong key)

The first form returns the current shortcut key for the button.

The second form sets the shortcut key to key. Setting this overrides the use of '&' in the label(). The value is a bitwise OR of a key and a set of shift flags, for example FL_ALT | 'a' , FL_ALT | (FL_F + 10), or just 'a'. A value of 0 disables the shortcut.

The key can be any value returned by Fl::event_key(), but will usually be an ASCII letter. Use a lower-case letter unless you require the shift key to be held down.

The shift flags can be any set of values accepted by Fl::event_state(). If the bit is on that shift key must be pushed. Meta, Alt, Ctrl, and Shift must be off if they are not in the shift flags (zero for the other bits indicates a "don't care" setting).

uchar Fl_Button::type() const
void Fl_Button::type(uchar t)

The first form of type() returns the current button type, which can be one of: The second form sets the button type to t.

char Fl_Button::value() const
int Fl_Button::value(int)

The first form returns the current value (0 or 1). The second form sets the current value.

Fl_When Fl_Widget::when() const
void Fl_Widget::when(Fl_When w)

Controls when callbacks are done. The following values are useful, the default value is FL_WHEN_RELEASE: