# hgeGUIObject Data members hgeGUIObject has it's data members public, so you can access them directly:
    int      id;
    bool     bStatic;
    bool     bVisible;
    bool     bEnabled;
    hgeRect  rect;

    hgeGUI       *gui;
    hgeGUIObject *next;
    hgeGUIObject *prev;

    static HGE *hge;
## Data members id Your constructor must set this field to the control's identificator used in GUI. bStatic If this field is true, the control can't be focused and will not receive keyboard events. The control is also bypassed by navigation routines. You must initialize bStatic in your constructor. bVisible If this field is true the control will be rendered with the GUI, otherwise it will be invisible. You must initialize bVisible in your constructor. bEnabled If this field is false the control shouldn't react to user input. The control still receives notifications, so it's your task to handle this field correctly. You must initialize bEnabled in your constructor. rect This field holds the control's bounding box in screen coordinates. You must initialize rect in your constructor. gui This is a pointer to the GUI object that uses the control. It is initialized by GUI when the control is added to it. You could use gui to communicate with GUI but must not change it. next This is an internal field, used to link all the controls together. The derived classes must not change it. prev This is an internal field, used to link all the controls together. The derived classes must not change it. hge This is a pointer you can use in derived classes to access HGE interface. ## Requirements Header: hgegui.h