peytuk Ответов: 1

C++ builder - динамически создаваемое событие mousedown


Как обрабатывать динамически создаваемое событие MouseDown или MouseUp формы? С помощью:
TMouse * event= dynamic_cast<TMouse*>(Sender);

не выдает никаких ошибок, но и не выполняет свою работу. Согласно Справочнику C++ Builder TMouseEvent является ли тип функции для любого из них Метод onmousedown событие или OnMouseUp событие. Я не знаю, что здесь делать.

Заранее спасибо.

Что я уже пробовал:

Это приводит к ошибке: E2031 не может привести из 'TObject*' в 'TMouseEvent'
void __fastcall TfMain::dyn_formMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
	int X, int Y){
	TMouseEvent * event= dynamic_cast<TMouseEvent *>(Sender);
	if (event) {
		old_x = X;
		old_y = Y;
		mouseState = MOUSE_DOWN;
	}
}

1 Ответов

Рейтинг:
12

CPallini

Такой бросок, конечно, недействителен, так как TMouseEvent это тип обработчика событий (то есть функция, она не имеет никакого отношения к отправителю). Пример кода см. На этой странице: Т-контроль.Событие OnMouseUp[^].


peytuk

Да!? Я //прокомментировал кастинг и if-заявления. Это работает, спасибо.