Содержание


NTL
Core
IComponent

IComponent



Описывает базовую функциональность компонента.

Вы можете найти больше информации в комментариях ниже. Переопределенные методы можно найти в соответствующем базовом интерфейсе.

class IComponent : public virtual IClass
{
public:
    Variant Tag; // Пользовательские данные

    // События изменения состояний
    void(*OnAttach)(IComponent *sender); // Событие вызывается после присоединения компонента к форме
    void(*OnDetaching)(IComponent *sender); // Событие вызывается перед отсоединением компонента от формы
    void(*OnDetach)(IComponent *sender); // Событие вызывается после отсоединения компонента от формы

    // События компонента
    void(*OnComponentAttach)(IComponent *sender, IComponent *component); // Событие вызывается когда другой компонент добавился на форму
    void(*OnComponentDetach)(IComponent *sender, IComponent *component); // Событие вызывается когда другой компонент удалился с формы
    void(*OnComponentChange)(IComponent *sender, IComponent *component); // Событие вызывается когда другой компонент отправил уведомление о своем изменении

    // События элемента управления
    void(*OnControlAttach)(IComponent *sender, IControl *control); // Событие, вызывающееся когда элемент управления только был присоединен к форме
    void(*OnControlDetach)(IComponent *sender, IControl *control); // Событие, вызывающееся когда элемент управления только был отсоединен от формы
    void(*OnControlChange)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления изменился и отправил уведомление об этом
    void(*OnControlSetFocus)(IComponent *sender, IControl *control, const MessageFocus &m); // Событие вызывается когда элемент управления получил фокус
    void(*OnControlKillFocus)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления потерял фокус
    void(*OnControlSetCaptureMouse)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления захватил ввод с мышы
    void(*OnControlKillCaptureMouse)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления потерял захват ввода с мышы
    void(*OnControlSetCaptureKeyboard)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления захватил ввод с клавиатуры
    void(*OnControlKillCaptureKeyboard)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления потерял захват ввода с клавиатуры
    void(*OnControlSetModal)(IComponent *sender, IControl *control); // Событие вызывается когда элемент управления становится модальным
    void(*OnControlKillModal)(IComponent *sender, IControl *control); // Событие вызывается когда модальный элемент управления становится не модальным

    // Другие события ввода
    void(*OnHotkey)(IComponent *sender, const MessageHotkey &m); // Событие вызывается при получении зарегистрированной горячей клавиши

    // События приложения
    void(*OnApplicationActivate)(IComponent *sender); // Событие вызывается когда приложение становится активным
    void(*OnApplicationDeactivate)(IComponent *sender); // Событие вызывается когда приложение становится неактивным
    void(*OnTimeChange)(IComponent *sender); // Событие вызывается при изменении системного времени
    void(*OnInputLanguageChange)(IComponent *sender); // Событие вызывается после изменения языка ввода
    void(*OnDisplayChange)(IComponent *sender, const MessageSize &m); // Событие вызывается когда меняются настройки дисплея
    void(*OnThemeChange)(IComponent *sender); // Событие вызывается при изменении темы
    void(*OnClipboardUpdate)(IComponent *sender); // Событие вызывается когда изменяется содержимое буфера обмена
    void(*OnTranslateChange)(IComponent *sender); // Событие вызывается когда приложение получает информацию об изменении матрицы переводов

    // События формы
    void(*OnFormActivate)(IComponent *sender, const MessageWindowActivate &m); // Событие вызывается когда форма стала активной
    void(*OnFormDeactivate)(IComponent *sender); // Событие вызывается когда форма стала неактивной
    void(*OnFormSetFocus)(IComponent *sender); // Событие вызывается когда форма получает фокус ввода с клавиатуры
    void(*OnFormKillFocus)(IComponent *sender); // Событие вызывается когда форма теряет фокус ввода с клавиатуры
    void(*OnFormEnable)(IComponent *sender); // Событие вызывается когда форма стала доступной
    void(*OnFormDisable)(IComponent *sender); // Событие вызывается когда форма недоступной
    void(*OnFormShow)(IComponent *sender); // Событие вызывается когда форма стала видимой
    void(*OnFormHide)(IComponent *sender); // Событие вызывается когда форма стала невидимой
    void(*OnFormMove)(IComponent *sender, const MessagePosition &m); // Событие вызывается при перемещении формы
    void(*OnFormRestore)(IComponent *sender, const MessageSize &m); // Событие вызывается когда форма восстанавливается
    void(*OnFormMinimize)(IComponent *sender, const MessageSize &m); // Событие вызывается когда форма сворачивается
    void(*OnFormMaximize)(IComponent *sender, const MessageSize &m); // Событие вызывается когда форма разворачивается
    void(*OnFormEnterSizeMove)(IComponent *sender); // Событие вызывается когда форма входит в режим перемещения и изменения размера
    void(*OnFormExitSizeMove)(IComponent *sender); // Событие вызывается когда форма выходит из режима перемещения и изменения размера

    // События диалоговых виджетов
    void(*OnDialogBoxActivate)(IComponent *sender, IDialogBox *control); // Событие, вызывающееся когда указанный диалоговый виджет становиться активным
    void(*OnDialogBoxDeactivate)(IComponent *sender, IDialogBox *control); // Событие, вызывающееся когда указанный диалоговый виджет теряет активное состояние

    virtual IForm *getForm() = 0; // Возвращает форму, которй принадлежит компонент

    virtual bool setForm(IForm *value) = 0; // Устанавливает компоненту новую форму. nullptr используется для удаления с текущей формы и не добавления ни на какую другую
    virtual void setService(IComponentService *value, const bool release_prev) = 0; // Устанавливает новый сервис. Используйте только совместимые сервисы и не передавайте пустые значения

    virtual void Release() = 0; // Уничтожает компонент
    virtual IComponentService *QueryService() = 0; // Возвращает сервис
};
Пространство имен: nitisa
Включение: Nitisa/Interfaces/IComponent.h