Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
ВнизControlAtPos Найти похожие ветки
← →
serjkp (2005-09-08 16:36) [0]Уважаемые, подскажите как быть. есть на форме куча всяких компонентов. на панелях кнопки, на тулбарах и т.д.
требуется узнать имя компонента под курсором. использую ControlAtPos получилось только узнать имя тех которые лежат непосредственно на форме.
всем спасибо...
← →
MBo © (2005-09-08 16:47) [1]А не обдумал, почему так получается?
Ты ведь используешь метод ControlAtPos какого компонента?
← →
serjkp (2005-09-08 17:00) [2]идея в голове крутится а зацепиться не могу. получается использую ControlAtPos на форме, а при переходе на компонент нужно уже на нем, но вот как этот момент реализовать не знаю.
← →
TUser © (2005-09-08 17:07) [3]Вызови метод ControlAtPos для того контрла, который был возвращен в первый раз. И т.д.
← →
Signate © (2005-09-08 17:08) [4]Я не знаю поможет или нет, но можно узнавать hwnd под курсором, а потом в цикле искать компонент с данный hwnd и что то уже делать... например узнать имя
← →
Игорь Шевченко © (2005-09-08 17:34) [5]FindVCLWindow
← →
serjkp (2005-09-08 18:01) [6]пасибочки, еще получилось с FindDragTarget...
← →
jack128 © (2005-09-08 18:11) [7]Обычно подобные алгоритмы рекурсивно реализуются
function ControlAtPos(AControl: TWinControl; const Pos: TPoint; AllowDisabled,
AllowWinControls: Boolean): TControl;
var
Temp: TControl;
TempPos: TPoint;
begin
Result := AControl.ControlAtPos(Pos, AllowDisabled, AllowWinControls);
if Result is TWinControl then
begin
TempPos.X := Pos.X - Result.Left;
TempPos.Y := Pos.Y - Result.Top;
Temp := ControlAtPos(TWinControl(Result), TempPos, AllowDisabled, AllowWinControls);
if Assigned(Temp) then
Result := Temp
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c