Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2014, 11:59   #1
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию Получить компонент по его координатам.

Есть событие
Код:
Procedure TForm1._ClickBitBtnId(Sender: TObject);
begin
  label1.Visible:=True;
  ListBox1.Visible:=True;
  BtnIds:=(Sender As TBitBtn);
  ImgIds:=
end;
где
BtnIds - ссылка на кнопку
ImgIds - ссылка на TImage
Нужо ссылке присвоить компонент из событие кнопки. Имя компонента неизвестно но известны его ккординаты
Координаты image это
Left=(Sender As TBitBtn).left
Top=(Sender As TBitBtn).top+(Sender As TBitBtn).height
Помогите пожалуйста
Alexandr17 вне форума Ответить с цитированием
Старый 26.07.2014, 12:11   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

GetWindowFromPoint это от WinAPI, и FindVCLWindow , ControlAtPos от VCL. Гуглим сами
Человек_Борща вне форума Ответить с цитированием
Старый 26.07.2014, 12:17   #3
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

ну ControlAtPos не подайдет так как используется для проерки а мне неизвестно имя компонента.только координаты
Alexandr17 вне форума Ответить с цитированием
Старый 26.07.2014, 12:24   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Alexandr17 Посмотреть сообщение
ну ControlAtPos не подайдет так как используется для проерки а мне неизвестно имя компонента.только координаты
компонент вашей формы?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.07.2014, 12:41   #5
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

да. Компонент на моей форме давот собственно
Код:
Procedure TForm1._ClickBitBtnId(Sender: TObject);
Var PosImg:TPoint;
begin
  label1.Visible:=True;
  ListBox1.Visible:=True;
  BtnIds:=(Sender As TBitBtn);
  PosImg.X:=(Sender As TBitBtn).Left;
  PosImg.Y:=(Sender As TBitBtn).Top+(Sender As TBitBtn).Height;
  ImgIds:=FindVCLWindow
end;
осталось дописать и должно работать

ImgIds:=(FindVCLWindow(posImg) as TImage);
[Error] UNrk.pas(200): Incompatible types: 'TImage' and 'TWinControl'

Последний раз редактировалось Stilet; 26.07.2014 в 13:02.
Alexandr17 вне форума Ответить с цитированием
Старый 26.07.2014, 13:04   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Alexandr17
Ты не говорил что ловишь TImage.
Цитата:
Call FindVCLWindow to locate the windowed control
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.07.2014, 13:05   #7
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

а как сказать.
Alexandr17 вне форума Ответить с цитированием
Старый 26.07.2014, 15:01   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Теперь уже никак )
Image таким образом не ловится.
По-моему он вообще не ловится, ибо является чисто канвой. Отловить можно хендл окна, на котором он отрисован, и работать с Image по относительным этого окна координатам. Координаты видимо придется забивать константно.
Бери короче SpyXX (Spy++) и им проверяй будет ли твоя картинка ловиться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет площади и периметра треугольника по его координатам TommiHanks Паскаль, Turbo Pascal, PascalABC.NET 1 22.12.2013 14:14
получить хэндл окна по координатам Slippy Win Api 1 24.08.2011 07:47
Получить цвет пикселя формы по координатам askerpro Windows Forms 1 20.03.2011 03:02
Как быстро получить цвет пикселя по координатам i-cpp Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 27.08.2010 15:05
Построить треугольник по координатам его вершин и описать около него окружность. Lion Помощь студентам 22 01.04.2008 23:37