События объектов

О том, как управлять событиями объектов

VoidCore::setEvent

void VoidCore::setEvent (int $selector, string $eventName, callable $event) — установка события объекту

Аргумент

Описание

int $selector

Указатель на объект

string $eventName

Название события

callable $event

PHP коллбэк события

Пример:

script.php

<?php

# Создаём объекты
$form   = VoidCore::createObject ('System.Windows.Forms.Form');
$button = VoidCore::createObject ('System.Windows.Forms.Button');

# Ставим кнопку на форму и немного настраиваем её
VoidCore::setProperty ($button, 'Parent', $form);
VoidCore::setProperty ($button, 'Left', 16); // Устанавливаем X координату
VoidCore::setProperty ($button, 'Top', 16); // Устанавливаем Y координату
VoidCore::setProperty ($button, 'Width', 128); // Устанавливаем ширину
VoidCore::setProperty ($button, 'Height', 64); // Устанавливаем высоту
VoidCore::setProperty ($button, 'Text', 'Click Me!'); // Добавляем текст

# Добавляем событие
VoidCore::setEvent ($button, 'Click', fn () => message ('Oh no! I was clicked!'));

# Отображаем форму
VoidCore::callMethod ($form, 'ShowDialog');

VoidCore::eventExists

bool VoidCore::eventExists (int $selector, string $eventName) — проверить событие на существование

Аргумент

Описание

int $selector

Указатель на объект

string $eventName

Название события

Пример:

script.php

<?php

$button = VoidCore::createObject ('System.Windows.Forms.Button');

var_dump (VoidCore::eventExists ($button, 'Click')); // false

VoidCore::setEvent ($button, 'Click', fn () => message (123));

var_dump (VoidCore::eventExists ($button, 'Click')); // true

VoidCore::removeEvent

void VoidCore::removeEvent (int $selector, string $eventName) — удалить событие объекта

Аргумент

Описание

int $selector

Указатель на объект

string $eventName

Название события

Пример:

script.php

<?php

$button = VoidCore::createObject ('System.Windows.Forms.Button');

VoidCore::setEvent ($button, 'Click', fn () => message (123));
VoidCore::removeEvent ($button, 'Click');

var_dump (VoidCore::eventExists ($button, 'Click')); // false

Last updated

Was this helpful?