Надеюсь, кто-то может помочь - я знаю о BorlandIDEServices
и примерно, как их использовать. Я создаю небольшой компонент, который должен знать текущий элемент управления под курсором мыши в Delphi IDE, даже если этот элемент управления не выбран. Я думал об использовании следующего, но координаты не верны, и я получаю нулевой результат, даже если в указанной позиции есть элементы управления в форме. Может быть, что ControlAtPos()
не работает во время разработки, но я не уверен.
if Supports(BorlandIDEServices,IOTAModuleServices,MServices) then
begin
if Supports((MServices.CurrentModule as IOTAModule).CurrentEditor,IOTAEditor,FEditor) then
begin
AForm := TForm(INTAComponent(FEditor.GetCreateParent).GetComponent.Owner);
AControl := AForm.ControlAtPos(AForm.ScreenToClient(Mouse.CursorPos),False);
Не уверен в наилучшем подходе для этого.