Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
8-1162766860
Горгер
2006-11-06 01:47
2007.08.05
Как отрисовывать линию по таймеру в OPENGL ?


1-1180339889
_vl_
2007-05-28 12:11
2007.08.05
Построение графика


4-1171311941
Dmitry_177
2007-02-12 23:25
2007.08.05
как определить контекст указателя(курсора)?


15-1184077329
Cyrax
2007-07-10 18:22
2007.08.05
Почему на форуме не приветствуется обратная связь...


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




   Наверх