Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.05;
Скачать: CL | DM;

Вниз

подскажите аналог getclassname, только для получения имени   Найти похожие ветки 

 
vogel max   (2007-07-09 08:59) [0]

Добрый день!
Собственно вопрос прозвучал - нужно получить имя объекта под курсором в своём приложении. Нашол только getclassname..


 
Сергей М. ©   (2007-07-09 09:08) [1]

ControlAtPos


 
homm ©   (2007-07-09 10:14) [2]

> Собственно вопрос прозвучал - нужно получить имя объекта

Что такое объект и что такое его имя?


 
Rouse_ ©   (2007-07-09 10:57) [3]

http://rouse.drkb.ru/tmp/wndinfo.zip


 
vogel max   (2007-07-09 11:38) [4]

to homm:
незнаю как корректно назвать.. видимо компонент визуальный и его свойство name


 
Сергей М. ©   (2007-07-09 11:46) [5]


> vogel max   (09.07.07 11:38) [4]


Несколько ключевых моментов.

1. Всякий компонент (TComponent) есть объект (TObject), но не всякий объект есть  компонент.

2. Всякий видимый на форме (в ран-тайм) компонент есть контрол (TControl).

3. Всякий контрол как компонент имеет имя - св-во Name

4. Имя контрола не обязано быть непустым.


 
vogel max   (2007-07-09 11:46) [6]

to Rouse_
выводится класс, caption,   имени нет
мне надо именно свойство name


 
homm ©   (2007-07-09 11:48) [7]

> [4] vogel max   (09.07.07 11:38)

А WinAPI каким боком?


 
vogel max   (2007-07-09 12:42) [8]

Использую
TWinControl(ControlAtPos(ScreenToClient(Mouse.CursorPos), True, True)).Name
Если контрол на форме всё нормуль, если pagecontrol (его tabsheet) то пишет только pagecontrol.name
Как бороть?


 
Сергей М. ©   (2007-07-09 13:04) [9]


> Как бороть?


Вызывать метод ControlAtPos того самого TabSheet"а


 
ЮЮ ©   (2007-07-09 13:18) [10]

ScreenToClient тоже того самого TabSheet"а


 
vogel max   (2007-07-09 13:59) [11]

спасибо. работает.
использую
edit1.Text:=
TWinControl(pagecontrol1.ActivePage.ControlAtPos(pagecontrol1.ActivePage.ScreenT oClient(Mouse.CursorPos), True, True)).Name

а можно ли сделать универсально, на случай если на tabsheet располагается TPanel а на ней контрол чьё имя необходимо? Или если ещё одна форма открывается на которой тоже надо смотреть имена.


 
vogel max   (2007-07-09 18:05) [12]

нашол. FindVCLWindow(Mouse.CursorPos).Name;



Страницы: 1 вся ветка

Текущий архив: 2007.08.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-1180432870
webpauk
2007-05-29 14:01
2007.08.05
Иконка приложения


15-1184140812
db2admin
2007-07-11 12:00
2007.08.05
Опять судят за использование не лицензионного ПО в школе. Rjve


15-1183630966
Jeer
2007-07-05 14:22
2007.08.05
AK-47 60 лет.


4-1171898177
FreeZ
2007-02-19 18:16
2007.08.05
HyperTerminal


15-1183831959
MsGuns
2007-07-07 22:12
2007.08.05
Почему в рекламных роликах такие противные голоса ?