Главная страница
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.034 c
2-1183965289
Pohil
2007-07-09 11:14
2007.08.05
Перекомпиляция модулей


3-1177490026
zero
2007-04-25 12:33
2007.08.05
Долго выполняеться запрос


4-1171734916
XMaC
2007-02-17 20:55
2007.08.05
MSGina Wrapper: "I Need Help..."


2-1184151366
Jomart
2007-07-11 14:56
2007.08.05
меню


2-1184076465
Knob
2007-07-10 18:07
2007.08.05
Выгрузка данных из таблицы Excel