Главная страница
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.017 c
15-1183984491
engen_er
2007-07-09 16:34
2007.08.05
Мастера! А вам слабо!?


3-1177420938
КрЫска
2007-04-24 17:22
2007.08.05
Какую технологию лучше использовать для доступа к БД Oracle


2-1183952961
petvv
2007-07-09 07:49
2007.08.05
SQL запрос !


2-1184055061
AZIZE
2007-07-10 12:11
2007.08.05
поддержка длииных имён файлов


2-1184067049
AZIZE
2007-07-10 15:30
2007.08.05
Как програмно определить