Проверьте, находится ли щелчок мыши внутри треугольной области, прежде чем начинать перемещение фигуры. Это требует некоторой математики, но вы также можете неправильно использовать функцию WinAPI PtInRegion, создав временную область следующим образом:

ужна была собственная форма треугольника, поэтому я унаследовал форму класса треугольника TShape и переопределил метод рисования. Все работает нормально, но мне нужно перемещать эти фигуры с помощью мыши. Я установил метод для каждой обработки формы onMouseDown. Переезд работает тоже нормально. Но если две фигуры перекрываются (фигуры на самом деле являются прямоугольниками с некоторыми прозрачными областями), что прозрачная область формы верхней части находится над другой формой, тогда верхняя форма перемещается вместо формы ниже. Это правильно, именно так работает Delphi. Но это не интуитивно понятно для пользователя. Как я могу этого достичь? Есть ли возможность не удалять событие из очереди событий и отправлять его в базовые фигуры, если да, то это будет просто?

Ответы на вопрос(2)

Ваш ответ на вопрос